簡體   English   中英

將緩存Redis過期設置為1年

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM