redis排序集

PHP中文网
PHP中文网オリジナル
2016-05-25 17:04:051216ブラウズ

业务需求,需要对数据做排序统计,redis数据存储方式中有一个数据集(Sorted sets)的概念,可以满足我们的需求,具体性能还没测试

PHP代码

<?php
$redis = new Redis();
$redis->connect(&#39;192.168.1.233&#39;,&#39;6379&#39;);
 
$b = $redis->zincrby(&#39;myadd&#39;,1,&#39;b&#39;);  //b的score加1,并返回当前b的score
$a = $redis->zincrby(&#39;myadd&#39;,1,&#39;a&#39;);
$c = $redis->zincrby(&#39;myadd&#39;,1,&#39;c&#39;);
$d = $redis->zincrby(&#39;myadd&#39;,1,&#39;d&#39;);
 
echo &#39;a&#39;.&#39;:&#39;.$redis->zscore(&#39;myadd&#39;, &#39;a&#39;)."\n"; //返回a的score
echo &#39;b&#39;.&#39;:&#39;.$redis->zscore(&#39;myadd&#39;, &#39;b&#39;)."\n"; 
echo &#39;c&#39;.&#39;:&#39;.$redis->zscore(&#39;myadd&#39;, &#39;c&#39;)."\n";
echo &#39;d&#39;.&#39;:&#39;.$redis->zscore(&#39;myadd&#39;, &#39;d&#39;)."\n";
 
var_dump($redis->zrank(&#39;myadd&#39;,&#39;c&#39;));//以score升序的方式,返回该value的在集合中的位置,0为第一个
var_dump($redis->zrange(&#39;myadd&#39;,0,-1,true)); //以value升序的方式显示
 
?>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。