将缓存 Redis 过期时间设置为 1 年
Set Cache Redis Expiration to 1 year
如何设置Redis缓存有效期为1年?
我试图将 xml 配置上的 long
值设置为:31556952000
(1 年),但随后它发现了一个异常,即 Integer 类型无法识别值为整数。我尝试在 Google 处搜索,它说整数最大值高达 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
的到期时间设置为仅 1 天(86400 毫秒)。
可以吗?谢谢。
Redis 接受整数值(最大为 2 147 483 647)作为过期命令。单位是秒,不是毫秒,所以1年是31556952而不是31556952000,符合整数。
如果你想让你的地图访问Long,也许你可以调整你的配置:
<map key-type="java.lang.String" value-type="java.lang.Long">
如何设置Redis缓存有效期为1年?
我试图将 xml 配置上的 long
值设置为:31556952000
(1 年),但随后它发现了一个异常,即 Integer 类型无法识别值为整数。我尝试在 Google 处搜索,它说整数最大值高达 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
的到期时间设置为仅 1 天(86400 毫秒)。
可以吗?谢谢。
Redis 接受整数值(最大为 2 147 483 647)作为过期命令。单位是秒,不是毫秒,所以1年是31556952而不是31556952000,符合整数。
如果你想让你的地图访问Long,也许你可以调整你的配置:
<map key-type="java.lang.String" value-type="java.lang.Long">