如何统计reids内的特定key

WBOY
リリース: 2016-06-06 20:49:50
オリジナル
1658 人が閲覧しました

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート