业务需求,需要对数据做排序统计,redis数据存储方式中有一个数据集(Sorted sets)的概念,可以满足我们的需求,具体性能还没测试
PHP代码
<?php $redis = new Redis(); $redis->connect('192.168.1.233','6379'); $b = $redis->zincrby('myadd',1,'b'); //b的score加1,并返回当前b的score $a = $redis->zincrby('myadd',1,'a'); $c = $redis->zincrby('myadd',1,'c'); $d = $redis->zincrby('myadd',1,'d'); echo 'a'.':'.$redis->zscore('myadd', 'a')."\n"; //返回a的score echo 'b'.':'.$redis->zscore('myadd', 'b')."\n"; echo 'c'.':'.$redis->zscore('myadd', 'c')."\n"; echo 'd'.':'.$redis->zscore('myadd', 'd')."\n"; var_dump($redis->zrank('myadd','c'));//以score升序的方式,返回该value的在集合中的位置,0为第一个 var_dump($redis->zrange('myadd',0,-1,true)); //以value升序的方式显示 ?>