为了账号安全,请及时绑定邮箱和手机立即绑定

redis 如何优雅的删除集合中值为json的数据?

redis 如何优雅的删除集合中值为json的数据?

PHP
回首忆惘然 2019-03-17 18:40:11
我将消息主体内容转为json字符串存储在redis中,使用集合方式(sadd)存储的,请问能否及如何根据消息主体中的唯一标示id去删除redis该条消息?如不能根据id去删除,有无更好的“系统未读消息”的设计方案?
查看完整描述

4 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

redis是k-v存储,无论如何都要记着这一点;所以不能根据标识ID去删除;

查看完整回答
反对 回复 2019-03-18
?
GCT1015

TA贡献1827条经验 获得超4个赞

每一条里面的id都是唯一的嘛?还是一条里面有多个id?

查看完整回答
反对 回复 2019-03-18
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

请考虑一下是否可以调整消息在redis的存储结构,比如,消息的唯一标志id存储在set中,而消息信息可以以id作为键,消息内容作为值存储在hash结构中,这样只要删除set中的元素时,顺带把hash中相关的元素也删除呢

查看完整回答
反对 回复 2019-03-18
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

可以在将 msg-body 存入 redis 时,以 业务关键词 + msg-body-id 作为存储的 key
这样可以在删除时,唯一定位,通过 key 直接删除。

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 698 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信