Home > Article > Backend Development > 如何统计reids内的特定key
是这样,项目的在线好友是用redis的set做的,在每个用户登录的时候
<code>set user_123466 时间戳 60*5 //user_用户id </code>
这样里面有很多user_*的数据,现在要统计在线人数,怎么查找呢?
当前库还有许多其他信息,所以不能用dbsize,
info里面的key数量也不能用.
是这样,项目的在线好友是用redis的set做的,在每个用户登录的时候
<code>set user_123466 时间戳 60*5 //user_用户id </code>
这样里面有很多user_*的数据,现在要统计在线人数,怎么查找呢?
当前库还有许多其他信息,所以不能用dbsize,
info里面的key数量也不能用.
redis的keys命令可以满足你的查询要求。
http://redis.io/commands/keys
<code>redis> MSET one 1 two 2 three 3 four 4 OK redis> KEYS *o* 1) "one" 2) "two" 3) "four" redis> KEYS t?? 1) "two" redis> KEYS * 1) "one" 2) "two" 3) "three" 4) "four" redis> </code>
20w数据测试,
在cli模式keys *用时11秒,
在php里面用时0.2秒, 0.0
<code>$re = $redis->keys('*'); dump(count($re)); </code>
可能php扩展里面做了些什么