是这样,项目的在线好友是用redis的set做的,在每个用户登录的时候
set user_123466 时间戳 60*5 //user_用户id
这样里面有很多user_*的数据,现在要统计在线人数,怎么查找呢?
当前库还有许多其他信息,所以不能用dbsize,
info里面的key数量也不能用.
是这样,项目的在线好友是用redis的set做的,在每个用户登录的时候
set user_123466 时间戳 60*5 //user_用户id
这样里面有很多user_*的数据,现在要统计在线人数,怎么查找呢?
当前库还有许多其他信息,所以不能用dbsize,
info里面的key数量也不能用.
20w数据测试,
在cli模式keys *用时11秒,
在php里面用时0.2秒, 0.0
$re = $redis->keys('*');
dump(count($re));
可能php扩展里面做了些什么
如果不想靠编程语言,那么当key的量很大的时候就不能用keys了,可以用命令行:
redis-cli -h 主机 -p 端口 -a 密码 keys "user_*" | wc -l
这样就能统计出行数了哈
2 回答1.3k 阅读✓ 已解决
2 回答819 阅读✓ 已解决
1 回答893 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
2 回答878 阅读
2 回答810 阅读
1 回答870 阅读
redis的keys命令可以满足你的查询要求。
http://redis.io/commands/keys