Heim >Backend-Entwicklung >PHP-Tutorial >如何统计reids内的特定key

如何统计reids内的特定key

WBOY
WBOYOriginal
2016-06-06 20:49:501682Durchsuche

是这样,项目的在线好友是用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扩展里面做了些什么

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn