我有一个 One Spring Hibernate 应用程序。在我的应用程序中,最近我实现了 Spring 数据 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"/>
而这个 redisTemplate
在我的 ServiceImpl 类中使用。
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
。但我需要 Expire key
而不是 uniqueKey
。
所以请帮我做些什么才能过期 Key
?
原文由 Akash Chavda 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在使用 Spring Data Redis。
我正在使用
@Redishash(timeToLive=300)
注释在 300 秒后使我的实体过期。这是我的摘录
pom.xml
我的
RedisConfig.class
还有我的实体类
ConsentOtp.class
这是我的 Redis 存储库