是这样,项目的在线好友是用redis的set做的,在每个用户登录的时候set user_123466 时间戳 60*5 //user_用户id
这样里面有很多user_*的数据,现在要统计在线人数,怎么查找呢?
当前库还有许多其他信息,所以不能用dbsize,
info里面的key数量也不能用.
redis单线程处理用户命令,数据量大时keys会对性能影响较大,如果对用户数要求不是特别精确的话可以用scan代替
20w数据测试,
在cli模式keys *用时11秒,
在php里面用时0.2秒, 0.0
$re = $redis->keys('*');
dump(count($re));
可能php扩展里面做了些什么
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。