请问现在网站类似于BBS的站内消息提醒怎么实现的?

基本需求就是,导航条是一个公共部分,上面有新回复提醒的功能。目前的很多网站(比如segmentdefalut)的导航条新回复提醒怎么做比较好?我想说的是那种刷新页面更新信息的方案,DWR是一种无刷新的推送,但是当后台采用一般关系型数据库时频繁查找会不会对性能造成很大影响?但当没有做任何优化的时候,每刷新一次就对数据库进行访问显然很浪费资源。但是如果使用一般的缓存的话(缓存中放置用户ID和相对应新回复数量的映射),增加或者删除回复的同时都要对缓存进行更新,同时又要对其进行持久化,在频繁回复的情况下会不会也导致性能的下降?请问大家有没有做过类似的系统,大概实现的思路是什么?谢谢!!

阅读 7.2k
3 个回答

不需要轮询数据库,只需要引入一个消息中间件,比如Redis.

浏览器(接收消息) => AJAX长轮询 => 程序语言 => 订阅 => 
                Redis PubSub
<= 发布 <= 程序语言 <= 普通AJAX请求 <= 浏览器(发送消息)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题