我有一個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