如何在redis中存储和检索消息和相关的用户属性?

时间:2015-06-04 19:19:45

标签: redis database-schema

我现在正在使用REDIS进行一些设计决策,我不能确定这是最有效的方法。

上下文:

  • 存储用户列表(理想情况下为哈希值,字段为“用户名”)
  • 用户可以随时更新用户名
  • 用户发送消息
  • 存储消息
  • 其他用户可以随时查看消息,显示的字段为:
    • 时间戳
    • 消息
    • 用户名
    • 用户名
    • 用户头像

第一种方法,最简单的方法:

  • 为Set
  • 中的每封邮件保存JSON字符串

问题是:

  • 如果用户更新其用户名或头像
    • JSON字符串已过时
    • 链接到个人资料
    • 可以显示旧的使用头像

我想到的下一个方法:

  • 使用三个字段(user_id,message和timestamp
  • )将消息另存为哈希
  • 将消息密钥添加到“消息”列表

然后显示消息:

  • 使用SORT消息获取所有消息哈希GET message_ - >
  • 在消息中获取唯一的用户ID并存储在临时列表中
    • 有没有REDIS方式这样做?
  • 使用SORT临时GET用户获取所有用户属性: - >
  • 删除临时列表
  • 将消息和用户放在我的“客户端代码”上

这有意义吗?

0 个答案:

没有答案