场景:社区论坛类webapp,包含各类帖子列表、详情页、个人(自己、他人)主页。
如何在某个页面进行点赞、关注、收藏等操作后,保证其他各页面相关数据一致更改状态(一致),避免出现几处的数据状态不一致的情况出现。
(各页面的数据目前是通过不同接口获取)
各位大佬们有什么好的想法或者建议提供下呗,谢谢!
场景:社区论坛类webapp,包含各类帖子列表、详情页、个人(自己、他人)主页。
如何在某个页面进行点赞、关注、收藏等操作后,保证其他各页面相关数据一致更改状态(一致),避免出现几处的数据状态不一致的情况出现。
(各页面的数据目前是通过不同接口获取)
各位大佬们有什么好的想法或者建议提供下呗,谢谢!
哪个产品给你的这需求?xx
如果必须要这样做,那就是2楼的两种方式:
1、ajax轮询;
2、websooket订阅/广播。PHP的swoole
如果照上面的方式做,你的服务器亚历山大,甚至崩溃。
可以尝试用懒惰更新法,用户在点赞或收藏后再去后台拉数据同步。
如果采用当前流行的库,那么就可以采用 redux 做全局数据管理,注意,redux 可以单独使用,不需要非得和 react 搭配起来。
这种情况最好不要用 websocket,服务器压力很大的,所以就是每次用户操作了什么功能,直接 ajax 请求,获取到数据,存储到内存中,就可以用 redux 管理数据。
你要是必须做到即时通信, 那么 websocket 是必须的。
5 回答10.1k 阅读✓ 已解决
9 回答2.6k 阅读✓ 已解决
14 回答3.8k 阅读
4 回答1.7k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
6 回答2k 阅读✓ 已解决
12 回答5.6k 阅读
前端定时拉取、或者后端推送。
如果定位是论坛的话没必要这么弄,不是所有数据都非得是最新的,QQ空间和segmentFault的及时性都没这么高,最多也就提示下有更新,然后让用户自己拉取。
如果定位是 IM 即时通讯软件的话,倒是有必要进行消息推送,用 webSocket 什么的。
如果服务器真那么金贵的话, webRTC考虑一下。