redis - 如果没有设置过期值,redis 键是否是永久的
问题描述
我正在我的个人项目中设置新的 redis 服务器。
如果我没有使用 EXPIRE 命令设置任何超时值,则 ttl 为 -1
我只想知道 -1 是否意味着永久或默认过期超时。
如果设置键值设置 ttl -1 那么 PERSIST 命令的目的是什么
解决方案
我只想知道 -1 是否意味着永久或默认过期超时。
是的,如果没有设置超时,则默认 TTL 为-1
,并且密钥不会过期。但是,它可能会在内存不足时被驱逐,请检查redis.confmaxmemory-policy
中的配置。
如果设置键值设置 ttl -1 那么 PERSIST 命令的目的是什么
您不能像-1
使用EXPIRE
命令一样手动设置密钥的 TTL。如果你这样做,即expire key -1
,Redis 将删除密钥。
正如您在回答中提到的,PERSIST
用于删除过期设置,并使密钥持久化。
推荐阅读
- c++ - 错误:架构 x86_64 的未定义符号
- api - OpenAPI - 使用 RFC 6750 Bearer Token 格式进行身份验证
- linux - 设法泄漏将函数地址放入 libc,但无法获取其他函数的地址
- c++ - 将本地 std::array 移动到传递的 std::array& 参数
- flutter - Image.network() 失败时无法捕获 NetworkImageLoadException
- python - Python 类成员在没有赋值的情况下更改值
- reactjs - 导入 framer-motion 时出错
- ada - 计算阶乘数
- node.js - 超时和未处理的承诺拒绝 - 可能是由异步引起的
- ios - #selector(delete(_:)) 在 uitextfield swift 中崩溃