,后台如果新增了一条信息,那在推送的时候,是怎么获取后台新增的消息的?

来源:8-17 赛事直播功能开发-优化

qq_慕斯卡6187973

2020-09-18

如题,第8章是手动写了一条消息,然后推送,那么我想知道实际中是如何推送的?

写回答

2回答

就我皮

2021-02-05

服务端:

1 : 后台发布的时候 写入Redis (根据具体数据,选择适合的数据结构,如果前端只是要看50条热门消息,就写入50条就行,如果数据需要很多,用有序集合去分页也行,主要还是要具体情况具体分析,如果这个数据只是冷数据,而不是热数据,不用到redis 也行)

2:  后台发布的时候看情况同时 写入 MySQL (看具体是什么数据 才决定是否要记录,比如有的消息只用保存最近的50条,如聊天记录,弹幕,只是为了用户打开有点东西看,其实也没必要 永久记录到数据库)

3:  服务端  根据 客户端 的fd 去推送消息  (解决客户端需要刷新页面才看到数据的问题)

----------------------------------------

客户端:

  1.   websooket 保持长连接, 正常接收到  服务端 返回的消息。

    2.   如果有 关闭了页面, 隔了很久才打开软件的用户,发送 个 请求,让后端  先从 redis 里面 拉取 一遍 最新的数据给展示出来。

    3.   有新的数据 接收到, 照常 从历史数据上面 插入 节点 进去就可以拉。

----------------------------------------

不过 redis 里面 有个 消息订阅 和发布的功能,也可以简单 实现 接收 和 推送,但是性能不是特别好,每次订阅都会新起一个进程。

其他的 自己动手研究研究呗。 可以 先写入数据库 ,在推送 给客户端, 下次打开直接 从数据库 先 拉取一遍数据呗,然后在接收 最新的数据, 这就比较简单了。

一般 实际工作中 :  一定要先明确  这个 数据 是冷 数据 还是热数据,也是这个数据展示到客户端 是否会被频繁请求访问,在决斗 用啥 技术  去处理。


0
0

singwa

2020-10-12

亲爱的同学您好。你说的实际中是如何推送的具体是指 ?

是说在实际工作中 推送具体是怎么实现的,是这个意思吗?

0
1
qq_慕斯卡6187973
老师你好,是的,。
2020-10-12
共1条回复

Swoole入门到实战打造高性能赛事直播平台

swoole创始人推荐,借助Swoole打造高性能直播平台

2228 学习 · 1062 问题

查看课程