Redis深入之路(十四)

2021-07-22 04:05:58 字數 2206 閱讀 6645

redis 的 sort 命令可以對,列表鍵,集合鍵,有序集合鍵進行排序

redis> rpush ints 354

21(integers) 5

// 預設按照數字大小進行公升序排序

redis> sort ints

"1""2"

"3""4"

"5"// 使用降序排序

redis> sort ints desc

"5""4"

"3""2"

"1"

使用 alpha 選項,按照字串值大小進行排序

redis> sadd strs "a"

"c""d"

"e""b"

(integer) 5

// 根據字串值大小進行排序

redis> sort strs alpha

"a""b"

"c""d"

"e"

根據指定某些字串鍵,或者某個雜湊鍵所包含的某些字段(field)來作為元素的權重,進行排序

redis> sadd students "jack"

"tom"

"ivy"

(integers) 3

// 根據字串鍵進行排序

redis> mset jack-age

20 tom-age

30 ivy-age

25ok

// 根據年齡排序

redis> sort students by

*-age

"jack"

"ivy"

"tom"

// 根據雜湊表進行排序

redis> hset jack age 30

okredis> hset tom age 25

okredis> hset ivy age 35

okredis> sort students by

*->age

"tom"

"jack"

"ivy"

by 選項預設假設權重值儲存的是數字值,如果權重鍵儲存的值是字串,那麼需要結合 alpha 選項。

// 根據學好權重字串值進行排序

redis> mset jack-no

"no-200" ivy-no

"no-100" tom-no

"no-300"

okredis> sort students by *-

no alpha

"ivy"

"jack"

"tom"

redis> rpush lists "c"

"d""b"

"a""e"

(integer) 5

// 根據字母值大小進行排序,返回從 0 開始,限定 3 個元素

redis> sort lists alpha limit 0

3"a"

"b""c"

可以根據排序後的元素,以及 get 指定的模式,查詢並返回某些鍵的值

redis> mset full

-name

-jack

"jack switch"

full

-name

-ivy

"ivy chick"

full

-name

-tom

"tom cat"

ok// 獲取全名

redis> sort students alpha get full

-name

-*1) "ivy chick"

2) "jack switch"

3) "tom cat"

notice:

// 將排序後的結果儲存到指定的鍵裡面,在必要的時候重用,以提高效率

redis> sort students alpha store sorted_students

(integer) 3

Redis深入之路(八)

redis 所有的資料庫都儲存在伺服器結構的 db 陣列中。redis.h redisserver typedef struct redisdb redisdb struct redisserver typedef struct redisclient redisclient redis selec...

android逆向之路十四

電腦端用androidkiller破解apk軟體的內購問題 一 9000的十六進製制 修改 搜尋9000的十六進製制,也就是搜尋0x2328 可以找到乙個smali,裡面含有著switch 0這 之後,我們進去就會看到乙個switch結構的分支語句,將6001 對應著支付取消 的十六進製制0x177...

Redis系列 安全(十四)

我們可以通過 redis 的配置檔案設定密碼引數,這樣客戶端連線到 redis 服務就需要密碼驗證,這樣可以讓你的 redis 服務更安全。我們可以通過以下命令檢視是否設定了密碼驗證 127.0 0.1 6379 config getrequirepass1 requirepass 2 預設情況下 ...