超时键上的 Redis 命令

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

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

SADD

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

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

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

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

不,你的命令会成功。

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

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

分享
微博
QQ
微信
回复
2023-04-26 12:44:28
相关问题
如何用Redis scan_iter()来排除
3092浏览 • 1回复 待解决
macOSredis安装在什么地方?
2503浏览 • 1回复 待解决
openharmony怎么在app实现一关机?
2806浏览 • 2回复 待解决
nginx超时设置有了解吗?
1871浏览 • 1回复 待解决
fetch 怎么做超时处理?
512浏览 • 1回复 待解决
如何屏蔽系统返回
428浏览 • 1回复 待解决
HarmonyOS web_view设置超时问题
376浏览 • 1回复 待解决
redis List 操作是什么?
3037浏览 • 1回复 待解决