Есть ли способ в spring-data-gemfire установить TTL для каждой записи, когда я помещаю объект (запись) в кеш? - PullRequest
0 голосов
/ 11 июля 2019

Я хочу установить TTL для каждого объекта в кеше GemFire ​​всякий раз, когда я помещаю этот объект в кеш. TTL для записи (объекта) в кеше может отличаться от другого. Можно ли использовать Spring Data для Pivotal GemFire?

Ответы [ 2 ]

0 голосов
/ 12 июля 2019

Немного неясно, о чем вы спрашиваете.

Как Дэн упомянул в своем ответе на это сообщение, вы можете установить TTL для всего Региона, который будет применяться ко всем записям.

В качестве альтернативы, если у вас действительно особые потребности, вы можете установить TTL для каждого типа класса, используя конфигурацию аннотаций SDG Expiration, как описано здесь:

https://docs.spring.io/spring-data/gemfire/docs/current/reference/html/#bootstrap:region:expiration:annotation

Однако, если ваш Регион хранит толькоодин тип объекта (например, Customer.class), поэтому рекомендуется установить TTL для региона.

Хотя, если у вас есть некоторая сложная иерархия объектов, поддержка аннотаций Expiration может иметь значение для вашего UC,

ПРИМЕЧАНИЕ. Поддержка аннотаций Expiration в SDG фактически реализована с использованием реализации CustomExpiry, предоставляемой SDG, которая анализирует тип класса объекта для определения политики истечения срока действия (более влажный TTL или TTI) для этого объекта на основе.на аннотации.

0 голосов
/ 11 июля 2019

В этом сообщении stackoverflow есть несколько примеров того, как это сделать -

Spring Data GemFire: Примеры CustomExpiry

По сути, вы можете настроить свой собственный CustomExpiry для региона, чемможет возвращать разные ttl для каждой записи.

...