2014-09-24 66 views
1

我試圖使用Memcached和Enyim客戶端測試AWS Elasticache節點,但由於某種原因,過期時間似乎超出了1小時。使用AWS Elasticache和Enyim memcached客戶端的Memcache過期時間爲1小時

我已經使用這個代碼添加的數據:

_client.Store(StoreMode.Set, "testkey", "test", DateTime.Now.AddMinutes(1)); 

然後我嘗試使用

var data = _client.Get<string>("testkey"); 

然而,這絕不檢索數據檢索數據。但是,如果我從現在開始將有效期限更改爲61分鐘,則會將數據存儲1分鐘。我用TimeSpan而不是DateTime.Now嘗試過,但得到同樣的問題。

我也輸出DateTime.Now值是正確的,我的AWS地區是歐盟,西方是在同一時區的輸出DateTime.Now

回答

0

我想通了自己。我沒有真正考慮UTC,這就是Elasticache實例所使用的。因此,要解決我的問題,我只需要使用DateTime.UtcNow而非DateTime.Now

1

這將是更安全的使用方法:

_client.Store(StoreMode.Set, "testkey", "test", TimeSpan.FromMinutes(1.0)); 

這樣,你不會有任何依賴於日期和UTC。

相關問題