[英]Set Cache Redis Expiration to 1 year
如何設置Redis Cache的有效期為1年?
我試圖將xml配置上的long
值設置為: 31556952000
(1年),但是隨后它捕獲到一個例外,即Integer類型無法將值識別為Integer。 我嘗試在Google上進行搜索,結果顯示Integer最大值不超過2147483647
,這意味着,如果設置為該最大值,則我的緩存只會在24天后過期。
這是我的applicationContext.xml
(我省略了不必要的代碼):
...
<cache:annotation-driven />
<bean id="redisCacheMap" class="java.util.HashMap">
<constructor-arg index="0" type="java.util.Map">
<map key-type="java.lang.String" value-type="java.lang.Integer">
<entry key="ruleCache" value="86400"/>
</map>
</constructor-arg>
</bean>
...
上面的代碼配置為將ruleCache
的到期時間ruleCache
為僅1天(86400以毫秒為單位)。
有可能這樣做嗎? 謝謝。
Redis接受expire命令的整數值(最大為2 147 483 647)。 單位是秒,而不是毫秒,因此1年是31556952,而不是31556952000,它適合整數。
如果您想讓地圖訪問Long,也許可以修改配置:
<map key-type="java.lang.String" value-type="java.lang.Long">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.