Redis的5種資料型別和常用命令

2021-10-05 12:24:05 字數 3337 閱讀 8056

2.3.1 hash型別

2.4.1 list型別

2.5.1 set型別

2.6.1 zset型別

redis中以鍵值對儲存資料,乙個鍵對應乙個值,鍵名不能重複,鍵的型別為字串,值的型別有5種:string(字串)、hash(雜湊)、list(列表)、set(集合)、zset(有序集合)

注意:如果某個鍵值對儲存了某個資料型別的值,不能修改為其他的資料型別。

1)查詢鍵(支援正規表示式):keys 表示式  

如:keys *a* 查詢名字中包含a的鍵

2) 判斷鍵是否存在,存在返回1,否則返回0:exists 'key'

3) 檢視鍵對應的value的型別,若鍵不存在則返回none:type 'key'

4) 刪除鍵,值同時會被刪除:del 'key1' 'key2' ...

5) 設定鍵過期時間,以秒為單位:expire 'key' t

6)檢視鍵有效時間,以秒為單位(鍵過期返回-2,未設定鍵的有效時間返回-1,其他根據實際有效時間返回):ttl 'key'

2.2.1.1 簡介
1)string 是redis最基本的型別

2)最大儲存512mb資料

3)string型別是二進位制安全的,可以儲存任何資料,比如數字、等

2.2.1.2 常用操作命令
1)增加 / 修改

*如果設定的鍵不存在則為新增,否則為修改*

- 設定鍵值:set 'key' 'value'

- 設定鍵值及過期時間,以秒為單位:setex 'key' t 'value'

- 設定多個鍵值:mset 'key1' 'value1' 'key2' 'value2' ...

2)獲取

- 根據鍵獲取值,如果鍵不存在則返回nil:get 'key'

- 根據多個鍵獲取多個值:mget 'key1' 'key2' ...

2.3.1.1 簡介
1)hash是乙個string 型別的field和value的對映表。採用key—field—value的方式。乙個key可對應多個field,乙個field對應乙個value。

2)value內部是乙個hashmap,如果該map的成員比較少,則會採用一維陣列的方式來緊湊儲存該map。

2.3.1.2 常用操作命令
1)增加 / 修改

- 設定單個屬性:hset 'key' 'field' 'value'

- 設定多個屬性:mhset 'key' 'field1' 'value1' 'field2' 'value2' ...

2)獲取

- 獲取指定鍵的所有屬性:hkeys 'key'

- 獲取指定鍵的單個指定屬性的值:hget 'key' 'field'

- 獲取指定鍵的多個指定屬性的值:hmget 'key' 'field1' 'field2'

- 獲取指定鍵的所有屬性:hvals 'key'

- 獲取指定鍵的所有屬性及其對應的值:hgetall 'key'

3)刪除

- 刪除指定鍵的單個或多個指定屬性,屬性對應的值會被一起刪除:hdel 'key' 'field1' 'field2' ...

2.4.1.1 簡介
1)list為雙向鍊錶結構,儲存的元素型別為string

2)有序,可以通過索引下標獲取元素或某個範圍內元素列表, 列表元素可以重複

3)乙個列表最多可以儲存2^32 -1個元素

2.4.1.2 常用操作命令
1)增加 / 修改

- 在左側插入資料:lpush 'key' 'value1' 'value2' ....

- 在右側插入元素:rpush 'key' 'value1' 'value2' ....

- 在指定元素的前或後插入新元素:linsert 'key' before/after 'value1' 'value'

- 設定指定索引位置的元素值:lset 'key' index 'value'

2)獲取

- 獲取鍊錶中指定範圍內的元素:lrange 'key' start stop

1. start stop分別為起始 / 結束元素的下標

2. 索引從左側開始,起始為0

3. 索引可以是負數,表示從尾部開始,最後乙個元素為-1

- 獲取鍊錶中指定下標的元素:lindex 'key' index

3)刪除

- 將列表中前count次出現的值為value的元素移除:lrem 'key' count 'value'

1. count > 0 從頭開始

2. count < 0 從尾開始

3. count = 0 移除所有

2.5.1.1 簡介
1)無序集合

2)元素型別為string,元素唯一,不可重複

3)集合元素不可修改

2.5.1.2 常用操作命令
1)增加

- 給指定key增加乙個或多個元素:sadd 'key' 'member1' 'member2' ...

2)獲取

- 獲取指定key的所有元素:smembers 'key'

3)刪除

- 刪除指定key的指定元素:srem 'key' 'member'

2.6.1.1 簡介
1)有序集合

2)元素型別為string,元素唯一,不可重複

3)每個元素都會關聯乙個分數,分數可以為負數,通過分數將元素從大到小排序

4)集合元素不可修改

2.6.1.2 常用操作命令
1)增加

- 給指定key增加乙個或多個元素,並設定分數:zadd 'key' score1 'member1' score2 'member2' ....

noted:如果增加的值存在,則以上命令相當於修改值的分數;如果多個值分數相同,則值按照字典順序排序

2)獲取

- 獲取指定範圍內的元素 :zrange 'key' start stop

1. start stop分別為起始 / 結束元素的下標

2. 索引從左側開始,起始為0

3. 索引可以是負數,表示從尾部開始,最後乙個元素為-1

- 獲取分數在指定範圍的元素:zrangebyscore 'key' min max

- 獲取指定元素的分數:zscore 'key' 'member'

3)刪除

- 刪除指定元素:zrem 'key' 'member1' 'member2' ....

- 刪除分數在指定範圍的元素:zremrangebyscore 'key' min max

Redis的5種資料型別

redis支援5種資料型別,它們描述如下 redis的字串是位元組序列。在redis中字串是二進位制安全的,這意味著他們有乙個已知的長度,是沒有任何特殊字元終止決定的,所以可以儲存任何東西,最大長度可達512兆。例子redis 127.0 0.1 6379 set name yiibai okred...

Redis的5種資料型別

redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 string是redis最基本的型別,你可以理解成與memcached一模一樣的型別,乙個key對應乙個value。string型別是二進位制安全的。意思是red...

redis的5種資料型別

redis資料結構 redis是一種高階的key value的儲存系統,其中value支援五種資料型別。1.字串 string 2.雜湊 hash 3.字串列表 list 4.字串集合 set 5.有序字串集合 sorted set key的定義呢,需要大家注意的幾點 key永遠都是字串。key不要...