如何使用RedisTemplate存储无过期时间的Redis键值对?
在Redis中使用RedisTemplate存储无过期时间的键值对
Redis 默认情况下,键值对就是无过期时间的——只要你不显式设置过期属性,键会一直保留在Redis中(除非手动删除,或触发内存淘汰策略被清理)。
针对你用的RedisTemplate,完全不需要调用expire()方法,直接使用不带过期参数的写入接口即可:
- 字符串类型示例:
// 存储无过期时间的字符串键值对 redisTemplate.opsForValue().set("user:1001", "Alice");
- 哈希类型示例:
// 存储无过期时间的哈希结构字段 redisTemplate.opsForHash().put("user:info:1001", "nickname", "Bob");
如果之前误给键设置了过期时间,还可以用persist()方法移除过期属性,让键恢复为永久状态:
// 移除指定键的过期时间 redisTemplate.persist("user:1001");
没必要设置超长过期时间,这种做法既不优雅,还可能让Redis在过期键管理上产生额外性能开销,直接不设置过期才是最优方案。
内容的提问来源于stack exchange,提问作者ChlnooL
相关产品推荐
相关产品推荐

