大概描述如题
比如说,前台系统的用户登录之后,在右上角有一个未读消息的数目提醒,比如现在有两个未读消息,现在后台系统的管理员又进行推送了一条消息,前台系统就应该有三条未读消息数了。请问在 flask 中应该怎么实现?
大概描述如题
比如说,前台系统的用户登录之后,在右上角有一个未读消息的数目提醒,比如现在有两个未读消息,现在后台系统的管理员又进行推送了一条消息,前台系统就应该有三条未读消息数了。请问在 flask 中应该怎么实现?
|
vissssaAug 14, 2019
1
推一个未读总数
|
|
ebingtelAug 14, 2019
2
要么 websocket,要么前端轮询?
|
|
lybcydAug 14, 2019
3
websocket,效果比较好,除了更新未读消息数量,也可以实时发送通知。嫌麻烦就 ajax 轮询,未读消息的话看消息种类吧,频率应该不需要太高。
|
|
bugcoderAug 14, 2019
6
|
|
8
|
|
lybcydAug 17, 2019
9
@kayseen 这个我也不是非常懂,简单说说我的想法,蹲一下大神吧。
你说的做法是最直观的,PHP laravel 自带的通知系统好像就是这么做的。但是用户稍微一多,这个一次性写入量就太大了,发布通知的操作会非常慢,所以要加缓存和队列处理一下,先发布消息再异步写入数据库。 要么就换个思路,只维护一个已读消息表。默认所有消息未读,如果用户读取消息则插入进数据库,这样可以分散压力,数据量也不会那么大,就是查询语句稍微麻烦一点(也没麻烦到哪里去) 还有一种可能就是干脆不用关联表,用户加一个已读消息的字段,保存该用户已读消息。缺点就是有长度上限,可能不利于扩展。没试过这种方案,也是刚刚想到的。 |
|
ebingtelAug 18, 2019
10
|