2015-07-01 12 views

回答

0

將TimeSpan.MaxValue設置爲密鑰過期沒有任何意義。你不應該設置它,因爲它不應該被刪除。這就是StackExchange的redis客戶端所做的事情 - 當你把TimeSpan.MaxValue實際上並沒有設置到期時,它會調用PERSIST命令
在StackExchange的redis客戶端中,查找類RedisDatabase.cs ,方法是

消息GetExpiryMessage(RedisKey鍵,commandflags中旗,時間跨度?屆滿,出ServerEndPoint服務器)

https://github.com/StackExchange/StackExchange.Redis
你也可以調用該方法Database.KeyTimeToLive,它會爲你的關鍵返回0。
爲什麼它被驅逐可能是因爲你的Azure緩存設置,它可能設置了maxmemory和驅逐策略:http://redis.io/topics/lru-cache

相關問題