Добавить время жить в собственность в мой кеш
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
xmlns:gfe="http://www.springframework.org/schema/gemfire"
xsi:schemaLocation="http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<util:properties id="gemfire-props">
<prop key="log-level">warning</prop>
</util:properties>
<gfe:cache properties-ref="gemfire-props" />
<gfe:local-region id="LocalRegion1">
<gfe:cache-listener>
<bean
class="com.mycompany.util.LoggingCacheListener" />
</gfe:cache-listener>
</gfe:local-region>
</beans>
Как мы можем добавить свойство времени жизни для LocalRegion1 или кеша, определенного как указано выше? Я хотел бы полностью обновлять кэш каждые 24 часа и получать новые данные с сервера. Я использую локальный кеш, который получает некоторые данные с сервера и хранит локально.
1 ответ
Решение
Вы можете установить время жизни в регионе, добавив узел region-ttl, как указано ниже:
<gfe:local-region id="LocalRegion1">
<gfe:region-ttl timeout="${local.region1.ttl}" action="DESTROY"/>
<gfe:cache-listener>
<bean
class="com.mycompany.util.LoggingCacheListener" />
</gfe:cache-listener>
</gfe:local-region>
В этом примере вы можете установить время жизни в секундах, используя свойство с именем local.region1.ttl
, Конечно, вы всегда можете переименовать это свойство или использовать вместо него литерал (60 секунд):
<gfe:region-ttl timeout="60" action="DESTROY"/>
Обратите внимание, что таймер будет сбрасываться каждый раз, когда вы обновляете / добавляете запись в регион.