有人能解释我如何在Redis中存储键/值对,并且具有无限的exipire时间吗?我试图在stackoverflow和谷歌上找到一些信息,但什么也没找到。我正在使用redisTemplate,我看到只有expire方法需要指定超时时间。我最终可以将超时时间设置为99999999天,但我认为这不是最好的解决方案。
expire
js81xvg61#
默认情况下,密钥上没有设置过期时间。也就是说,如果您自己没有指定过期时间,则您的密钥将无限期存储,没有任何过期时间。
set myname Ankit OK ttl myname (integer) -1
如果返回-1,则表明密钥myname上没有设置过期时间
-1
myname
pxiryf3j2#
最后我找到了两个解决这个问题的方法-首先我可以使用expire方法,并将-1值作为超时:redisTemplate.expire("mykey", -1);第二种方法是在key上使用persist方法:redisTemplate.persist("mykey");这将删除“mykey”密钥的过期时间,有效地将其设置为永不过期。
redisTemplate.expire("mykey", -1);
redisTemplate.persist("mykey");
2条答案
按热度按时间js81xvg61#
默认情况下,密钥上没有设置过期时间。也就是说,如果您自己没有指定过期时间,则您的密钥将无限期存储,没有任何过期时间。
如果返回
-1
,则表明密钥myname
上没有设置过期时间pxiryf3j2#
最后我找到了两个解决这个问题的方法-首先我可以使用expire方法,并将-1值作为超时:
redisTemplate.expire("mykey", -1);
第二种方法是在key上使用persist方法:
redisTemplate.persist("mykey");
这将删除“mykey”密钥的过期时间,有效地将其设置为永不过期。