03 redis個資料結構的常用操作命令

2021-10-06 06:23:19 字數 4199 閱讀 4886

一、字串型別 string

1. 儲存: set key value

2. 獲取: get key

3. 刪除: del key

127.0.0.1:6379> set username lisi

ok127.0.0.1:6379> get username

"lisi"

127.0.0.1:6379> del username

(integer) 1

127.0.0.1:6379> get username

(nil)

二、雜湊型別 hash

1. 儲存: hset key field value

127.0.0.1:6379> hset myhash username lisi

(integer) 1

127.0.0.1:6379> hset myhash password 123

(integer) 1

2. 獲取: 

* hget key field: 獲取指定的field對應的值

* hgetall key:獲取所有的field和value      

3. 刪除: hdel key field

127.0.0.1:6379> hset myhash username zhansan

(integer) 1

127.0.0.1:6379> hset myhash age 35

(integer) 1

127.0.0.1:6379> hset myhash gender true

(integer) 1

127.0.0.1:6379> hget myhash username

"zhansan"

127.0.0.1:6379> hgetall myhash

1) "username"

2) "zhansan"

3) "age"

4) "35"

5) "gender"

6) "true"

127.0.0.1:6379> hdel myhash username

(integer) 1

127.0.0.1:6379> hgetall myhash

1) "age"

2) "35"

3) "gender"

4) "true"

>

三、 列表型別 list:可以新增乙個元素到列表的頭部(左邊)或者尾部(右邊)

1. 新增:

1. lpush key value: 將元素加入列表左表             

2. rpush key value:將元素加入列表右邊

2. 獲取:

* lrange key start end :範圍獲取 。如果要查詢全部, start設定為0,end設定為-1

3. 刪除:

* lpop key: 刪除列表最左邊的元素,並將元素返回

* rpop key: 刪除列表最右邊的元素,並將元素返回

127.0.0.1:6379> lpush mylist a

(integer) 1

127.0.0.1:6379> lpush mylist b

(integer) 2

127.0.0.1:6379> rpush mylist b

(integer) 3

127.0.0.1:6379> lrange mylist 0 -1

1) "b"

2) "a"

3) "b"

127.0.0.1:6379> rpop mylist

"b"127.0.0.1:6379> rpush mylist c

(integer) 3

127.0.0.1:6379> lrange mylist 0 -1

1) "b"

2) "a"

3) "c"

127.0.0.1:6379> lpop mylist

"b"127.0.0.1:6379> lrange mylist 0 -1

1) "a"

2) "c"

127.0.0.1:6379> rpop mylist

"c"

四、 集合型別 set : 不允許重複元素

1. 儲存:sadd key value

2. 獲取:smembers key:獲取set集合中所有元素

3. 刪除:srem key value:刪除set集合中的某個元素   

127.0.0.1:6379> sadd myset a

(integer) 1

127.0.0.1:6379> sadd myset b c d e

(integer) 4

127.0.0.1:6379> smembers myset

1) "c"

2) "b"

3) "d"

4) "a"

5) "e"

127.0.0.1:6379> srem myset c

(integer) 1

127.0.0.1:6379> smembers myset

1) "d"

2) "a"

3) "b"

4) "e"

五. 有序集合型別 sortedset:不允許重複元素,且元素有順序.每個元素都會關聯乙個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。

1. 儲存:zadd key score value

2. 獲取:zrange key start end [withscores]   ---》 [withscores] 如果寫上會把分數score也列出來

3. 刪除:zrem key value

127.0.0.1:6379> zadd mysortset 60 zhangshan

(integer) 1

127.0.0.1:6379> zadd mysortset 59.5 lisi

(integer) 1

127.0.0.1:6379> zadd mysortset 62 wangwu

(integer) 1

127.0.0.1:6379> zadd mysortset 61 zhaoliu

(integer) 1

127.0.0.1:6379> zrange mysortset 0 -1

1) "lisi"

2) "zhangshan"

3) "zhaoliu"

4) "wangwu"

127.0.0.1:6379> zrange mysortset 0 -1 withscores

1) "lisi"

2) "59.5"

3) "zhangshan"

4) "60"

5) "zhaoliu"

6) "61"

7) "wangwu"

8) "62"

127.0.0.1:6379> zrem mysortset lisi

(integer) 1

127.0.0.1:6379> zrange mysortset 0 -1 withscores

1) "zhangshan"

2) "60"

3) "zhaoliu"

4) "61"

5) "wangwu"

6) "62"

六. 通用命令

1. keys * : 查詢所有的鍵。(這裡的*可以寫正規表示式)

2. type key : 獲取鍵對應的value的型別

3. del key:刪除指定的key value

127.0.0.1:6379> keys *

1) "mysortset"

2) "myhash"

3) "myset"

127.0.0.1:6379> type mysortset

zset

127.0.0.1:6379> del mysortset

(integer) 1

127.0.0.1:6379> keys *

1) "myhash"

2) "myset"

127.0.0.1:6379>

03Redis資料型別之List型別

list是乙個鍊錶結構,主要功能是push pop 獲取乙個範圍之內的所有值等等,操作中key理解為鍊錶的名稱。redis的list型別其實就是乙個每個子元素都是string型別的雙向鍊錶。我們可以銅駝push pop操作從鍊錶的頭部或者尾部新增刪除元素,這樣list既可以作為棧,又可以作為佇列。2...

redis的各個資料結構常用功能

redis的各個資料結構常用功能 結構型別 常用命令 使用場景 string set get mset mget incr 快取 計數器 session 限速 發短息間隔 list rpush lpop lrange lindex 訊息佇列 brpop可實現阻塞佇列 文章列表 hash hset h...

redis常用資料結構

redis是乙個開源的key value儲存引擎,它支援string hash list set和sorted set等多種值型別。由於其卓越的效能表現 豐富的資料型別及穩定性,廣泛用於各種需要k v儲存的場景。甚至在一些分布式快取系統中,也用它作為底層儲存引擎。本文對redis最常用的資料型別進行...