我正在个人项目中设置新的Redis服务器。
如果我未使用EXPIRE命令设置任何超时值,则ttl为-1
我只想知道-1是否表示永久或默认的过期超时。
如果设置键值将ttl设置为-1,那么PERSIST命令的作用是什么
答案 0 :(得分:1)
我只想知道-1是否表示永久或默认的过期超时。
是的,如果未设置超时,则默认TTL为-1
,并且密钥不会过期。但是,当您的内存不足时,可能会驱逐它,请检查 redis.conf 中的maxmemory-policy
配置。
如果设置键值将ttl设置为-1,那么PERSIST命令的作用是什么
您无法使用-1
命令将密钥的TTL手动设置为EXPIRE
。如果这样做,即expire key -1
,Redis将删除密钥。
正如您在答案中提到的,PERSIST
用于删除到期设置,并使密钥持久。
答案 1 :(得分:0)
是的。经过一番研究,我发现密钥只有在使用EXPIRE命令给定后才会过期 如果已经给定密钥的过期值,则可以使用Persist来删除过期值