开发者社区> 问答> 正文

PHP+redis如何实现如同微博订阅服务?

需求是这样的,玩过微博的大家都知道,这以下特点
1.可以关注很多人
2.每个人都可以发微博
3.当我隔一段时间重新登录微博,会自动将我关注的人发的最新微博,按照时间顺序展示
请问,如何用php和redis实现这样一个订阅,希望你能给个思路,或者参考资料
(求思路,不要具体答案,但希望尽量详尽)

展开
收起
落地花开啦 2016-02-28 18:22:26 2394 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    要想知道关注的人发了那些微博,有两种方式,一个是推,一个是拉
    推的方式是每一个发微博的人都会将自己发的微博ID推送到自己的所有粉丝。
    拉的方式是每个人自己主动去拉自己关注的人的所有最新的微博,如果关注的人比较多,也是不可行的
    总体来说推拉是要结合的,具体怎么结合很难说,每个用户都会有自己的list,用来存储未读的微博ID,然后不断的去推拉,无论是推拉过程肯定都是背后的服务在处理,不是实时的。
    获取微博也不是原来想象中的SQL的select批量获取,全部是原子性的操作,比如有100条未读的微博,会循环100次从缓存中获取,或者使用redis的mutil批量获取,然后没有读到的会回源到数据库进行获取,可能会觉得这样很慢,不过实际使用过程中这样并不慢,因为使用了大量的缓存

    2019-07-17 18:49:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis在唯品会的应用实践——架构演进与功能定制 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载