首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何建立在线/离线显示用户状态的朋友列表?

问如何建立在线/离线显示用户状态的朋友列表?
EN

Stack Overflow用户
提问于 2018-10-27 17:27:15
回答 1查看 389关注 0票数 1

我有两个主意。

Idea #1:

使用Redis可以将当前在线的用户放到集合中。然后,用户会从客户端定期发送一个请求,为他的所有朋友发送状态。服务器将发出sql请求,以获取所有朋友,并在redis设置中找到他们,如果是,那么他们就在线了。

Idea #2:

使用Redis PubSub,当您作为一个用户在线时,您订阅所有的朋友频道。每当用户上网时,他就会在他或她在线的频道上发布信息。不管是谁听的都会被通知。

现在我看不出哪一个更具有可伸缩性和效率。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-29 10:06:32

我认为idea #1应该是解决方案。idea #2无法工作。

不保留公开的信息。因此,如果客户端没有连接到Redis,消息就会丢失。当他重新连接到Redis时,他将不会收到以前发布的任何消息。

在idea #2的例子中,当用户登录时,他不知道他的朋友是否已经在线。因为他的在线朋友在他登录之前就发布了在线信息,而他不会收到这些信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53024505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档