聊天系统 多服务器部署

0

在线用户保存在 workerman\logs\data.php
部署在多台机器
如何查询所用在线用户?

已邀请:

phpgame

赞同来自:

给你一个方案,可能不是最优的,脱离框架本身,在业务中处理在线用户


建立一个memcache集群
登陆的时候,在onConnect中成功登陆的uid,写一个key,onlinelist写入memcache集群,这个跟框架自带的storeuid没关系
退出的时候把这个key中uid给处理掉
如果来列表,直接从其他地方获取这个memcache的key,就是所有的在线用户了
部署单机或者多台机器的话,都可以用以上方式来处理
考虑一下,换成redis集群可能会比memcache更好处理

walkor

赞同来自:

部署在多台机器可以使用memcache存储在线用户,memcache类在 applications/XXX/Lib/Store.php.for-memcache(如果没有请更新代码), 覆盖原有applications/XXX/Lib/Store.php,并更改里面的memcache ip和端口。


部署在多台服务器可参考服务器部署部分
http://wenda.phpgame.cn/?/article/1

要回复问题请先登录注册