如果未设置过期值,是否可以永久使用redis键

时间:2019-01-24 10:22:31

标签: redis

我正在个人项目中设置新的Redis服务器。

如果我未使用EXPIRE命令设置任何超时值,则ttl为-1

我只想知道-1是否表示永久或默认的过期超时。

如果设置键值将ttl设置为-1,那么PERSIST命令的作用是什么

2 个答案:

答案 0 :(得分:1)

  

我只想知道-1是否表示永久或默认的过期超时。

是的,如果未设置超时,则默认TTL为-1,并且密钥不会过期。但是,当您的内存不足时,可能会驱逐它,请检查 redis.conf 中的maxmemory-policy配置。

  

如果设置键值将ttl设置为-1,那么PERSIST命令的作用是什么

您无法使用-1命令将密钥的TTL手动设置为EXPIRE。如果这样做,即expire key -1,Redis将删除密钥。

正如您在答案中提到的,PERSIST用于删除到期设置,并使密钥持久。

答案 1 :(得分:0)

是的。经过一番研究,我发现密钥只有在使用EXPIRE命令给定后才会过期 如果已经给定密钥的过期值,则可以使用Persist来删除过期值