mrj*_*_05 2 caching spring-mvc redis cache-expiration
如何设置Redis Cache的有效期为1年?
我试图long将xml配置上的值设置为:31556952000(1年),但是随后它捕获到一个异常,该异常是Integer类型无法将值识别为Integer。我尝试在Google上进行搜索,结果显示Integer最大值不超过2147483647,这意味着,如果设置为Integer最大值,则只会使我的缓存在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>
...
Run Code Online (Sandbox Code Playgroud)
上面的代码配置为将过期设置ruleCache为仅1天(86400以毫秒为单位)。
有可能这样做吗?谢谢。
小智 5
Redis接受expire命令的整数值(最大为2 147 483 647)。单位是秒,而不是毫秒,因此1年是31556952,而不是31556952000,它适合整数。
如果您想让地图访问Long,也许可以修改配置:
<map key-type="java.lang.String" value-type="java.lang.Long">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4939 次 |
| 最近记录: |