认真学习了下,原来缓存数据库还有好多好多知识点,脑子有点不够用了:
sort SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern …]] [ASC | DESC] [ALPHA] [STORE destination]
返回或保存给定列表、集合、有序集合 key 中经过排序的元素。 排序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较。
sort的一般用法:
最简单的 SORT 使用方法是 SORT key 和 SORT key DESC :
SORT key 返回键值从小到大排序的结果。SORT key DESC 返回键值从大到小排序的结果。 假设 today_cost 列表保存了今日的开销金额, 那么可以用 SORT 命令对它进行排序: # 开销金额列表 redis> LPUSH today_cost 30 1.5 10 8 (integer) 4 # 排序 redis> SORT today_cost 1) "1.5" 2) "8" 3) "10" 4) "30" # 逆序排序 redis 127.0.0.1:6379> SORT today_cost DESC 1) "30" 2) "10" 3) "8" 4) "1.5"使用 ALPHA 修饰符对字符串进行排序
因为 SORT 命令默认排序对象为数字, 当需要对字符串进行排序时, 需要显式地在 SORT 命令之后添加 ALPHA 修饰符: # 网址 redis> LPUSH website "www.reddit.com" (integer) 1 redis> LPUSH website "www.slashdot.com" (integer) 2 redis> LPUSH website "www.infoq.com" (integer) 3 # 默认(按数字)排序 redis> SORT website 1) "www.infoq.com" 2) "www.slashdot.com" 3) "www.reddit.com" # 按字符排序 redis> SORT website ALPHA 1) "www.infoq.com" 2) "www.reddit.com" 3) "www.slashdot.com"如果系统正确地设置了 LC_COLLATE 环境变量的话,Redis能识别 UTF-8 编码。
http://doc.redisfans.com/key/sort.html#alpha
