redis sort操作2

来源:互联网 发布:js 怎么取数组前10条 编辑:程序博客网 时间:2024/06/06 07:44

redis相传性能不错,不仅结合了key value数据库的优点,又有满足一些必要的关系型数据库的功能。
我们有个产品最近想为每个用户出排行榜,APP,SNS产品常见功能,每个用户与好友做排行榜排序......无聊又必备功能。
还没测试redis性能。但功能是可以实现的。还挺不错的....稍后会测试测试性能,和PHP的API 要是不错....那可真是神物啊。
做个示例:
[root@xpdmediainc04 redis-1.02]#  ./redis-cli sadd tom:friend:list  123 #tom的好友列表 里面是好友的uid
1
[root@xpdmediainc04 redis-1.02]#  ./redis-cli sadd tom:friend:list  456
1
[root@xpdmediainc04 redis-1.02]#  ./redis-cli sadd tom:friend:list  789
1
[root@xpdmediainc04 redis-1.02]#  ./redis-cli sadd tom:friend:list  101
1
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:sort:123 1000 #uid对应的成绩
OK
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:sort:456 6000
OK
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:sort:789 100
OK
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:sort:101 5999
OK
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:123 "{'uid':123,'name':'lucy'}" #增加uid对应好友信息
OK
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:456 "{'uid':456,'name':'jack'}"
OK
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:789 "{'uid':789,'name':'marry'}"
OK
[root@xpdmediainc04 redis-1.02]# ./redis-cli set uid:101 "{'uid':101,'name':'icej'}" 
OK
[root@xpdmediainc04 redis-1.02]# ./redis-cli sort tom:friend:list by uid:sort:* get uid:* #从好友列表中获得id与uid:sort字段匹配后排序,并根据排序后的顺序,用key在uid表获得信息
1. {'uid':789,'name':'marry'}
2. {'uid':123,'name':'lucy'}
3. {'uid':101,'name':'icej'}
4. {'uid':456,'name':'jack'}
[root@xpdmediainc04 redis-1.02]# ./redis-cli sort tom:friend:list by uid:sort:* get uid:* get uid:sort:*
1. {'uid':789,'name':'marry'}
2. 100
3. {'uid':123,'name':'lucy'}
4. 1000
5. {'uid':101,'name':'icej'}
6. 5999
7. {'uid':456,'name':'jack'}
8. 6000