我正在个人项目中设置新的redis服务器。
如果我没有使用EXPIRE命令设置任何超时值,则ttl为-1
我只想知道-1表示渗透或默认过期超时。
…
是的,如果没有设置超时,则默认TTL为 -1 ,密钥不会过期。但是,当你内存不足时可能会被驱逐,检查一下 maxmemory-policy 配置 redis.conf 。
-1
maxmemory-policy
如果设置键值设置ttl -1那么PERSIST命令的目的是什么
您无法手动将密钥的TTL设置为 -1 同 EXPIRE 命令。如果你这样做,即 expire key -1 ,Redis将删除密钥。
EXPIRE
expire key -1
正如你在答案中提到的, PERSIST 用于删除过期设置,并使密钥持久化。
PERSIST
是的。经过一些研究我发现,只有在用EXPIRE命令给出后,密钥才会过期 如果已经为密钥指定了过期值,则持续用于删除过期值