2015-10-26 9 views
1

Я пытаюсь использовать Hazelcast Map и нашел, что Expiration time for an entry = Last Updated Time + TTL.Значение TTL записи в Карте изменяется для каждого обновления этой записи

  1. Но я хочу иметь его как Expiration Time for an entry = Creation Time + TTL. Может кто-нибудь предложить, как достичь этой функциональности?

  2. Это поведение имело место ранее, по какой причине оно изменилось?

ответ

0

Поведение действительно изменилось с версии 3.3.3. По-видимому, предыдущее поведение considered a bug от сообщества.

Возможности:

  1. Открыть вопрос GitHub и она могла бы получить реализованы, если вы привлечь достаточное количество сторонников
  2. Продолжить использование 3.3.2 (не выглядит очень убедительным, но это также возможность)
  3. Разделите свою карту на две («неизменяемые» и изменяемые) и получите доступ ко второй только после проверки того, что ключ существует в первом. Когда вы хотите обновить значение, сделайте это только во втором. Таким образом, поскольку вы не обновляете первую карту вообще, запись истекает ttl после времени создания.