美文网首页PHP经验分享PHP开发
SWOOLE开发实时聊天系统(三)数据结构整理

SWOOLE开发实时聊天系统(三)数据结构整理

作者: 公式般欢笑 | 来源:发表于2020-03-06 23:06 被阅读0次

在聊天室工作的过程中,用户首先应该订阅(登录),在数据库中存储了用户与直播ID的对应信息之后,才能让用户去收发消息。
订阅的数据结构按照MQ的方式来进行操作。

我们需要设置一下一级topic和二级topic,一级Topic是应用类型,在这里既然只有直播这一种应用类型,所以一级TOPIC可以设置为定值。
二级Topic的值设置为直播ID。
然后应该有一个Type,这个Type是发送到WS的数据类型,比如:检测心跳、发送消息或者订阅。

"type":"login",
"user_id":"10086",
"first_topic":"1",
"second_topic":"1"

然后需要定义用户ID与直播ID在数据库中的存储数据结构。

const  redis_key_group_user = 'ws_topic_first_topic_second_topic';//分组下对应的用户,可以通过直播ID来获取下面所有的用户
const  redis_key_user_group = 'ws_user_fd';//fd对应的分组 
const  user_bind_redis_key = "ws_user_bind_fd_redis_key";//fd绑定用户的redis_key hash表 fd=》user
const  fd_bind_user_redis_key = "ws_fd_bind_user_redis_key";//用户绑定fd的redis_key hash表 user=>fd
const  redis_expire_time=86400;

名词解释:fd 在swoole中对每个用户分配的唯一标识。
OK,数据结构整理完毕,下一步可以编写代码了。

相关文章

网友评论

    本文标题:SWOOLE开发实时聊天系统(三)数据结构整理

    本文链接:https://www.haomeiwen.com/subject/bkbvlhtx.html