在线用户保存在 workerman\logs\data.php 部署在多台机器 如何查询所用在线用户?
给你一个方案,可能不是最优的,脱离框架本身,在业务中处理在线用户
建立一个memcache集群 登陆的时候,在onConnect中成功登陆的uid,写一个key,onlinelist写入memcache集群,这个跟框架自带的storeuid没关系 退出的时候把这个key中uid给处理掉 如果来列表,直接从其他地方获取这个memcache的key,就是所有的在线用户了 部署单机或者多台机器的话,都可以用以上方式来处理 考虑一下,换成redis集群可能会比memcache更好处理
部署在多台机器可以使用memcache存储在线用户,memcache类在 applications/XXX/Lib/Store.php.for-memcache(如果没有请更新代码), 覆盖原有applications/XXX/Lib/Store.php,并更改里面的memcache ip和端口。
部署在多台服务器可参考服务器部署部分 http://wenda.phpgame.cn/?/article/1
给你一个方案,可能不是最优的,脱离框架本身,在业务中处理在线用户
建立一个memcache集群
登陆的时候,在onConnect中成功登陆的uid,写一个key,onlinelist写入memcache集群,这个跟框架自带的storeuid没关系
退出的时候把这个key中uid给处理掉
如果来列表,直接从其他地方获取这个memcache的key,就是所有的在线用户了
部署单机或者多台机器的话,都可以用以上方式来处理
考虑一下,换成redis集群可能会比memcache更好处理
部署在多台机器可以使用memcache存储在线用户,memcache类在 applications/XXX/Lib/Store.php.for-memcache(如果没有请更新代码), 覆盖原有applications/XXX/Lib/Store.php,并更改里面的memcache ip和端口。
部署在多台服务器可参考服务器部署部分
http://wenda.phpgame.cn/?/article/1