【发布时间】:2019-06-18 01:14:20
【问题描述】:
我正在我的个人项目中设置新的 redis 服务器。
如果我没有使用 EXPIRE 命令设置任何超时值,则 ttl 为 -1
我只想知道 -1 是否意味着永久或默认过期超时。
如果设置键值设置 ttl -1 那么 PERSIST 命令的目的是什么
【问题讨论】:
标签: redis
我正在我的个人项目中设置新的 redis 服务器。
如果我没有使用 EXPIRE 命令设置任何超时值,则 ttl 为 -1
我只想知道 -1 是否意味着永久或默认过期超时。
如果设置键值设置 ttl -1 那么 PERSIST 命令的目的是什么
【问题讨论】:
标签: redis
我只想知道 -1 是否意味着永久或默认过期超时。
是的,如果不设置超时,则默认 TTL 为-1,并且密钥不会过期。但是,它可能会在内存不足时被驱逐,请检查 redis.conf 中的maxmemory-policy 配置。
如果设置键值设置 ttl -1 那么 PERSIST 命令的目的是什么
您不能使用 EXPIRE 命令手动将密钥的 TTL 设置为 -1。如果您这样做,即expire key -1,Redis 将删除该密钥。
正如您在回答中提到的,PERSIST 用于删除过期设置,并使密钥持久化。
【讨论】:
maxmemory-policy 配置。详情请查看redis.conf。
是的。经过一些研究我发现,只有在使用 EXPIRE 命令后,密钥才会过期 如果已经为某个键指定了过期值,则持久化用于删除过期值
【讨论】: