Redis排序相關

2021-07-09 04:40:26 字數 1255 閱讀 3565

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...