首页 > 解决方案 > 如果没有设置过期值,redis 键是否是永久的

问题描述

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

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

我只想知道 -1 是否意味着永久或默认过期超时。

如果设置键值设置 ttl -1 那么 PERSIST 命令的目的是什么

标签: redis

解决方案


我只想知道 -1 是否意味着永久或默认过期超时。

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

如果设置键值设置 ttl -1 那么 PERSIST 命令的目的是什么

您不能像-1使用EXPIRE命令一样手动设置密钥的 TTL。如果你这样做,即expire key -1,Redis 将删除密钥。

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


推荐阅读