Redis/Redisson LocalCachedMap — как работает TTL/Eviction?

Я пытаюсь реализовать RLocalCachedMap в своем приложении. Во время экспериментов я создавал LocalCachedMap и устанавливал evictionPolicy и TTL в LocalCachedMapOptions. Я ожидал, что срок действия любой записи, добавленной на карту, истечет после истечения максимального TTL, но я узнал, что это не так. Позже я узнал, что такой функционал есть только в RedissonPRO, которым я не пользуюсь.

Теперь мне интересно, действительно ли установка EvictionPolicy и TTL в LocalCachedMapOptions вообще что-нибудь сделает? Есть ли у записи срок действия на сервере Redis? Если да, могу ли я настроить Redis для очистки записей с истекшим сроком действия, поскольку Redisson, похоже, игнорирует TTL?

Есть ли способ использовать RLocalCachedMap и срок действия записей истекает через определенное время?


person Garct    schedule 04.11.2019    source источник


Ответы (1)


EvictionPolicy и TimeToLive применяются к экземпляру RLocalCachedMap, если они определены.

если установка EvictionPolicy и TTL в LocalCachedMapOptions вообще что-нибудь сделает? Есть ли у записи срок действия на сервере Redis?

Только запись, хранящаяся в локальном кеше, получает этот ttl, а не запись, хранящаяся в Redis.

Если да, могу ли я настроить Redis для очистки записей с истекшим сроком действия, поскольку Redisson, похоже, игнорирует TTL?

чтобы применить ttl для Redis, вам нужно использовать RLocalCachedMapCache (часть Redisson PRO) или объект RMapCache (без локального кеша)

person Nikita Koksharov    schedule 24.11.2019