Memcache到期时间使用AWS Elasticache和Enyim memcached客户端1小时

时间:2014-09-24 11:21:44

标签: c# memcached amazon-elasticache enyim

我正在尝试使用Memcached和Enyim客户端测试我的AWS Elasticache节点,但由于某种原因,到期时间似乎超过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区域是EU-West,与输出的DateTime.Now

位于同一时区

2 个答案:

答案 0 :(得分:1)

使用起来会更安全:

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

这样,您就不会对DateTime和UTC有任何依赖。

答案 1 :(得分:0)

我自己想通了。我并没有真正考虑到UTC,这就是Elasticache实例使用的内容。因此,要解决我的问题,我只需要使用DateTime.UtcNow而不是DateTime.Now