Heim >Backend-Entwicklung >PHP-Tutorial >未读消息通知逻辑上应该如何做

未读消息通知逻辑上应该如何做

WBOY
WBOYOriginal
2016-06-13 12:17:551853Durchsuche

未读消息通知逻辑上应该怎么做?
场景就是当平台有各种新的消息通知时,平台内的成员会有未读消息的提醒。

我本来的思路是给成员一个notice的字段,默认为空,用来记录未读消息。每当平台有新消息发布时,所有成员的notice就添加该消息的id,最终notice的结构为$id,$id,$id,。有几个,就意味着有几条未读消息,然后遍历出对应的每条消息的id,当点击浏览此信息的时候,就从notice中去除对应的$id,。

这种思路合理吗?或者更好的思路是什么?
------解决思路----------------------
你要的这种消息系统只是一个留言板的扩展,只是增加了一个标识阅读权限的字段
为标识是否已读,可设一个表,用于存放 消息id 和对应的 用户id。此表可能会很长,可以每月一分表

------解决思路----------------------
不好意思刚看到

一个存储发布消息的 数组(消息id) 保存在 memcache
当用户登录的时候读取数据库的 已读消息 这个看你怎么设计了 多长时间发布前的消息失效

然后将用户在线时的数据交互保存到 memcache 这类缓存里,在线的时候 定时读 新消息通知 (因为你应该需要消息即时推送吧?)

memcache 数据多长时间设置为失效  当数据失效的时候 用户需要 重新读取数据库内的数据重新生成memcache中的临时缓存数据

差不多就这样吧 看看你有多少用户 要吃多少内存 多结合几种方法因为用户多 请求可能会很多 尽量减少读写数据库.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn