Redis 排序命令

2021-08-27 19:51:57 字數 3788 閱讀 2085

sort 命令

sort key [alpha] [by sortkey] [desc] [limit offset count] [get keys] [store newkey]

sort 可以有set ,list ,zset 進行排序,預設按集合的元素值轉換為數值進行從小到大排序。

引數:[alpha] :如果元素值不是資料,則可以指定alpha引數,按照字典順序排序。

[desc]:預設sort是從小到大排序,可以指定desc 為降序

[limit offset count]: 從排序結果中取序號為offset開始的count個元素

[store newkey] :把排序結果儲存在乙個list變數中

3) "baidu"[by sortkey] 引數說明:

[get keys]引數說明:

localhost:6379> set students:name:1 tom //id=1的學生名字

oklocalhost:6379> set students:name:2 carry//id=2的學生名字

oklocalhost:6379> set students:name:3 jack//id=3的學生分名字

oklocalhost:6379> set students:name:4 lisa//id=4的學生分名字

localhost:6379> set students:score:1 98 //id=1的學生分值98

oklocalhost:6379> set students:score:2 39//id=2的學生分值39

oklocalhost:6379> set students:score:3 80//id=3的學生分值80

oklocalhost:6379> set students:score:4 58//id=4的學生分值58

oklocalhost:6379> lpush students 1 2 3 4 //學生id存入list

(integer) 4

localhost:6379> sort students //按照集合中元素值(id)排序的結果

1) "1"

2) "2"

3) "3"

4) "4"

localhost:6379> sort students by students:score:* //關聯分值的排序結果 用studnets中的元素值替換students:score:*中的*而生成的key 的值進行排序。

1) "2" //替換後排序的元為:students:score:1,students:score:2,students:score:3,students:score:4

2) "4" //對這4個key進行排序,依據該排序結果輸出對應的集合元素順序

3) "3"

4) "1"

localhost:6379> sort students by students:score:* get students:name:* //按照集合排序結果中的元素值替換 get之後的key的中的*而生成的實際key來獲取值

1) "carry"

2) "lisa"

3) "jack"

4) "tom"

//sort students by students:score:* 排序後結果為 2,4,3,1 替換get 之後的key而生成 :

students:name:2

students:name:4

students:name:3

students:name:1

以上key對應的值順序為:

1) "carry"

2) "lisa"

3) "jack"

4) "tom"

localhost:6379> hmset student:1 name lining age 32 *** boy score 76

oklocalhost:6379> hmset student:2 name lisi age 21 *** girl score 87

oklocalhost:6379> hmset student:7 name tom age 25 *** boy score 34

oklocalhost:6379> sadd studentids 1 2 7

(integer) 3

localhost:6379> sort studentids

1) "1"

2) "2"

3) "7"

localhost:6379> sort studentids by student:*->score關聯分值的排序結果 用studentids中的元素值替換student:*->score,而生成:student:1->score,student:2->score,student:7->score,表明是按雜湊表的score值時行排序,依據該排序結果輸出對應的集合元素順序

1) "7"

2) "1"

3) "2"

localhost:6379> sort studentids by student:*->score get student:*->name

1) "tom"

2) "lining"

3) "lisi"

//可以通過get獲取多個值

localhost:6379> sort studentids by student:*->score get student:*->name get student:*->age get student:*->***

1) "tom"

2) "25"

3) "boy"

4) "lining"

5) "32"

6) "boy"

7) "lisi"

8) "21"

9) "girl"

redis命令 redis命令操作

redis命令操作 1.字串型別 string 1.儲存 set key value 2.獲取 get key 3.刪除 del key 2.雜湊型別 hash 1.儲存 hset key field value 2.獲取 1.hget key field 獲取指定的field對應的值 2.hget...

Redis排序相關

1 sort按照鍵值從小到大排序 sort key desc 降序 對數字排序 sort key alpha 按照字元排序 2 limit 限制返回的條數 3 根據外部key的權重進行排序 4 根據排序結果進行排序 sort uid get user name 5 將排序結果進行儲存 如果使用red...

redis中文亂碼 Redis 命令

redis 命令用於在 redis 服務上執行操作。redis 客戶端的基本語法為 redis cli以下例項講解了如何啟動 redis 客戶端 啟動 redis 客戶端,開啟終端並輸入命令redis cli。該命令會連線本地的 redis 服務。redis cliredis 127.0.0.1 6...