我有一个Spring Spring Hibernate应用程序。在我的应用程序中,最近我实现了Spring数据Redis。Spring Data Redis过期密钥
spring-servlet.xml
<!-- redis connection factory -->
<bean id="jedisConnFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" p:use-pool="true"/>
<!-- redis template definition -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnFactory"/>
在我ServiceImpl类此redisTemplate
使用。
RedisServiceImpl
@Autowired
private RedisTemplate<String, T> redisTemplate;
public RedisTemplate<String, T> getRedisTemplate() {
return redisTemplate;
}
public void setRedisTemplate(RedisTemplate<String, T> redisTemplate) {
this.redisTemplate = redisTemplate;
}
现在我在redisServer添加数据这样
public void putData(String uniqueKey, String key, Object results) {
redisTemplate.opsForHash().put(uniqueKey, key, results);
}
现在我想删除过期的关键。
我在谷歌搜索,但在谷歌所有的都在说这样的
redisTemplate.expire(key, timeout, TimeUnit);
在这种到期方法,我们需要提供uniqueKey
而不是key
。 但我需要到期key
而不是uniqueKey
。
所以请帮我我能做些什么过期Key
?
http://docs.spring。IO /弹簧数据/数据redis的/文档/ 1.5.2.RELEASE/API /组织/ springframework的/数据/ redis的/核心/ RedisTemplate.html#到期(K,%20long,%20java.util.concurrent.TimeUnit)不说关于uniqueKey的任何事情。你可以通过密钥过期 – shazin
是的,你是对的。在这个网址没有提到有关uniqueKey的任何信息。但在执行时,当我使用uniqueKey然后这个uniqueKey过期。但是当我使用密钥时,这个密钥不会过期。 –
唯一的密钥被认为是整个散列...所以可以过期这个散列的密钥。除非您需要手动删除散列键和值。 – Nebras