2014-09-24 2 views
1

Я пытаюсь проверить свои узлы AWS Elasticache, используя Memcached и клиент Enyim, однако по какой-то причине время истечения срока действия, по-видимому, выходит на 1 час.Время истечения срока действия Memcache 1 час с использованием AWS Elasticache и клиента Emcim memcached

Я добавил данных с помощью этого кода:

_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)); 

Таким образом, вы не будете иметь никаких зависимостей к DateTime и UTC.