gongmingbin 2017-04-16 12:51 采纳率: 0%
浏览 1192

使用redis如何将多个MySQL表中的数据整合在一个zset中,作为一个timeline?

原先用户产生的数据放在不同的表中,例如帖子放在post中,收藏放在favorite表中,现在需要将用户这些不同的行为按时间的倒序显示在他的粉丝的首页中。打算用redis的zset来做。想到2种办法:
1. 使用表名:表id作为zset中的key,例如帖子id为122的帖子就是就是post:122,从redis中取出数据之后再spit开来得到是哪个表的哪条数据。
2. 对于用户所有的行为添加总表,例如timeline,timeline中再通过type和target_id两个字段关联到具体的post。
1的做法可能没有中间层可能性能更好?但是没有引入timeline可能不便于日后扩展?
像知乎,新浪微博,Facebook,Twitter他们有是怎么做的呢?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-25 19:29
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机