1

Memcached と Enyim クライアントを使用して AWS Elasticache ノードをテストしようとしていますが、何らかの理由で有効期限が 1 時間過ぎているようです。

このコードを使用してデータを追加しました:

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

次に、次を使用してデータを取得しようとしています

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

ただし、これはデータを取得しません。ただし、有効期限を今から 61 分に変更すると、データは 1 分間保存されます。DateTime.Now ではなく TimeSpan でこれを試しましたが、同じ問題が発生します。

また、正しい値を出力しました。DateTime.Now私の AWS リージョンは、出力されたものと同じタイムゾーンにある EU 西部です。DateTime.Now

4

2 に答える 2

1

以下を使用する方が安全です。

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

この方法では、DateTime と UTC への依存関係はありません。

于 2015-01-04T07:40:12.437 に答える
0

私は自分でそれを理解しました。私は実際には UTC を考慮に入れていませんでした。それが Elasticache インスタンスが使用するものです。したがって、私の問題を解決するにDateTime.UtcNowは、DateTime.Now

于 2014-09-24T13:37:37.773 に答える