java Redis:存储键/值对,不带过期时间

huus2vyu  于 2023-04-19  发布在  Java
关注(0)|答案(2)|浏览(146)

有人能解释我如何在Redis中存储键/值对,并且具有无限的exipire时间吗?
我试图在stackoverflow和谷歌上找到一些信息,但什么也没找到。
我正在使用redisTemplate,我看到只有expire方法需要指定超时时间。我最终可以将超时时间设置为99999999天,但我认为这不是最好的解决方案。

js81xvg6

js81xvg61#

默认情况下,密钥上没有设置过期时间。也就是说,如果您自己没有指定过期时间,则您的密钥将无限期存储,没有任何过期时间。

set myname Ankit
OK

ttl myname
(integer) -1

如果返回-1,则表明密钥myname上没有设置过期时间

pxiryf3j

pxiryf3j2#

最后我找到了两个解决这个问题的方法-首先我可以使用expire方法,并将-1值作为超时:
redisTemplate.expire("mykey", -1);
第二种方法是在key上使用persist方法:
redisTemplate.persist("mykey");
这将删除“mykey”密钥的过期时间,有效地将其设置为永不过期。

相关问题