1、sort按照鍵值從小到大排序
sort key (desc)降序:對數字排序
sort key alpha 按照字元排序
2、limit:限制返回的條數
3、根據外部key的權重進行排序
4、根據排序結果進行排序
sort uid get user_name_*
5、將排序結果進行儲存
如果使用redis sort排序的不是數字,是字母,將他們按照字典的順序排名,則需要使用
sort jihe alpha
sort jihe desc limit 0 2
還可以對redis sort命令新增by引數。一條語句只能有乙個by引數。這時,sort不會根據自身的值排序,比如(1,5,2,8和a,a,g,b),而是根據指定的另乙個鍵中的字段來排序。如:
sort tag:redis:article by article:*->time desc
解釋:根據tag:redis:article中的值(tag是redis的文章id),來組合成乙個新的key就是article:(ag:redis:article中的乙個值):time。獲取到tag是redis的文章id列表,然後根據他們的發布時間來排序。
redis sort命令還有個get引數,get引數類似在關係型資料庫中的關聯查詢。比如查詢tag是redis的文章id列表,將列表根據發布時間倒序排序,然後獲取每個文章的標題。get可以有多個:
sort tag:redis:article by article:*->time desc get article:*->title get article:*->time get #
get #的意思是,將文章id返回回來,你可以寫get article:*->id,也可以寫get #。
redis sort命令還有個引數是store,是將排序後的內容儲存到乙個新的key中。新key的型別是列表型別,如果存在則會覆蓋。這個時候可以用expire來設定快取:
sort tag:redis:article by article:*->time desc get article:*->title get article:*->time get # store resultkey
redis的sort命令是redis最複雜最強大的命令之一,時間複雜度是o(n+mlogm)。n是待排序的列表長度,m是返回的元素個數。減少n和m會提高sort的效能。
Redis相關學習
remote dictionary server redis 是乙個由salvatore sanfilippo寫的key value儲存系統。redis是乙個開源的使用ansi c語言編寫 遵守bsd協議 支援網路 可基於記憶體亦可持久化的日誌型 key value資料庫,並提供多種語言的api。它...
Redis相關命令
2 list相關操作 有序可重複 向list根據left方向以此新增資料 先進後出 lpush list1 1 2 3 4 5 6 獲取list中的全部資料 lrange list1 0 1 向list根據right方向以此新增資料 先進先出 rpush list2 1 2 3 4 5 6 彈出集合...
redis相關操作
字串操作 列表操作 有序,重複 左新增 lpush websites baidu.com 右新增 rpush websites google.com 左移除 lpop websites 右移除 rpop websites 指定元素移除 lrem websites count google.com c...