超时键上的 Redis 命令

一个密钥被动过期只是当一些客户端试图访问它时,发现密钥超时。

我想在 Redis 键(包含一组字符串)上设置 TTL。我最初通过执行

SADD
  • 1.

来做到这一点(如果密钥不存在,它会创建一个)。然后一段时间后,我会去尝试添加到这个集合中。如果这时候set已经过期了,那一切都好,只要在Redis中重新创建key,就一切正常了。如果密钥没有过期,一切都很好。只需将新项目添加到现有集合即可。

我的问题是,当我尝试将 add (SADD) 设置为处于“超时”状态的键时会发生什么? Redis 文档似乎建议如果客户端在超时状态下尝试访问它,则该密钥将过期。这是否意味着我的命令(SADD)错误?或者它会做我想做的事,就像密钥已过期并重新创建密钥然后 SADD 一样?

redis
密钥
2023-04-25 16:14:58
1.0w浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
朝花惜拾丶

这是否意味着我的命令(SADD)错误?

不,你的命令会成功。

或者它会做我想做的事,就像密钥已过期并重新创建密钥然后 SADD?

是的,Redis定位到key,发现应该是过期了。然后 Redis 删除键,创建一个新集合,并将成员添加到新集合中。

分享
微博
QQ
微信
回复
2023-04-26 12:44:28


相关问题
如何用Redis scan_iter()来排除
3574浏览 • 1回复 待解决
macOSredis安装在什么地方?
3260浏览 • 1回复 待解决
openharmony怎么在app实现一关机?
3687浏览 • 2回复 待解决
HarmonyOS 网络请求超时
1040浏览 • 1回复 待解决
nginx超时设置有了解吗?
2542浏览 • 1回复 待解决
HarmonyOS 获取蓝牙服务超时
816浏览 • 1回复 待解决
HarmonyOS AvPlayer网络内容加载超时
611浏览 • 1回复 待解决
fetch 怎么做超时处理?
1274浏览 • 1回复 待解决
如何屏蔽系统返回
855浏览 • 1回复 待解决