今天看了redis的发布订阅功能 。就想着平时我们网站很多都会有未读新消息这样的功能 ,我现在只想到结合mysql数据库实现这样的功能,还没有想到用redis的发布订阅怎么实现 。
先记一下这个功能结合mysql数据库的实现过程
1,数据表设计
频道表 :频道id,频道名称
用户订阅的频道表 :频道id,用户id
频道的消息表:消息id,频道id,消息内容
用户的消息表:id,用户id ,消息id
2,实现流程
后台发布消息,插入频道消息表数据
用户登录查询用户的消息表相对应自己的最大的一条数据,之后再查询频道消息表 比这条消息id大的所有数据 。插入到用户消息表,标识为未读状态
这样用户到了消息主页面的时候,就能看到所属他的已读未读消息。
以上是结合数据库的实现
结合redis的发布订阅怎么实现呢??