我现在正在使用REDIS进行一些设计决策,我不能确定这是最有效的方法。
上下文:
- 存储用户列表(理想情况下为哈希值,字段为“用户名”)
- 用户可以随时更新用户名
- 用户发送消息
- 存储消息
- 其他用户可以随时查看消息,显示的字段为:
第一种方法,最简单的方法:
问题是:
- 如果用户更新其用户名或头像
- JSON字符串已过时
- 链接到个人资料
- 可以显示旧的使用头像
我想到的下一个方法:
- 使用三个字段(user_id,message和timestamp
)将消息另存为哈希
- 将消息密钥添加到“消息”列表
然后显示消息:
- 使用SORT消息获取所有消息哈希GET message_ - >
- 在消息中获取唯一的用户ID并存储在临时列表中
- 使用SORT临时GET用户获取所有用户属性: - >
- 删除临时列表
- 将消息和用户放在我的“客户端代码”上
这有意义吗?