【问题标题】:Memcache expiry time 1 hour out using AWS Elasticache and Enyim memcached client使用 AWS Elasticache 和 Enyim memcached 客户端的 Memcache 过期时间 1 小时
【发布时间】:2014-11-18 20:55:46
【问题描述】:

我正在尝试使用 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 处于同一时区

【问题讨论】:

    标签: c# memcached amazon-elasticache enyim


    【解决方案1】:

    使用起来会更安全:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-01-19
        • 2010-10-08
        • 1970-01-01
        • 2011-10-14
        • 1970-01-01
        • 1970-01-01
        • 2011-08-14
        • 1970-01-01
        • 2014-03-10
        相关资源
        最近更新 更多