redis中5種數據類型介紹、命令(二)

這篇博客學習redis的基本命令,主要是講解五種數據類型。

redis提供五種數據類型:string,hash,list,set及zset(sorted set)。下面對5種類型分別介紹。

在介紹五種數據類型前,我們先來了解一下redis的幾個基本的命令,感受一下。個人建議,邊看redis的命令,邊在redis-cli程序中輸入命令,

還是那句話,代碼是敲出來的。

注:redis中命令不區分大小寫


基本命令

1. 查看redis中所有鍵命令

keys * 查看所有鍵

keys a* 查看所有以a開頭的鍵

2. 判斷鍵是否存在

exists aa 判斷鍵名爲aa的是否存在。返回值爲1,表示存在;0表示不存在。

3. 查看鍵值的數據類型

type aa

返回值有五種情況。string,字符串類型;hash,散列類型;list,列表類型;set,集合類型;zset,有序集合類型。


五種數據類型

一. 字符串類型

類型介紹

字符串類型是redis中最基本的數據類型,可以存儲任何格式的的字符串包括二進制數據,如用戶信息、JSON格式的對象等等。一個字符串鍵值最大存儲

512MB字節數據。


操作命令

1. 賦值:set name zhangsan 爲鍵name,賦值爲zhangsan

2. 取值:get name 獲取鍵name的值(當鍵name不存在時返回空)

3. 向尾部追加值:append name nihao 向鍵name的值後追加nihao字符串

4. 獲取字符串長度:strlen name 獲取鍵name的值的長度,若鍵name不存在返回0

5. 同時賦多個值:mset aa 11 bb 22 cc 33 同時爲鍵aa,bb,cc分別賦值爲11,22,33

6. 同時取多個值:mget aa bb 同時獲取鍵aa,bb的值

7. 當存儲的字符串爲整數時,可以使用遞增:incr aa 對鍵aa進行遞增,返回值12(若鍵是字符串會報錯)

8. 遞減:decr aa 對鍵aa進行遞減

9. 刪除:del aa 刪除鍵aa


二. 散列類型

類型介紹

redis是採用鍵值對的方式存儲數據,散列類型也是也是鍵值對存儲的,字段值支持字符串類型。散列類型適合存儲對象。


操作命令

1. 賦值:hset dog name zhangsan 爲dog鍵name,賦值爲zhangsan

2. 取值:hget dog name 獲取dog鍵name的值

3. 批量賦值:hmset dog sex 1 age 5 向dog鍵sex和age賦值,1和5

4. 批量獲取值:hmget dog sex age 批量獲取dog鍵sex和age值

5. 獲取指定key的所有鍵和鍵值:hgetall dog 獲取dog的所有鍵和鍵值

6. 判斷字段是否存在:hexists dog age 存在返回1,不存在返回0

7. 鍵值增加:hincrby dog age 8 爲dog的age加上8

8. 刪除:hdel dog sex 刪除成功返回1,不存在返回0

9. 只獲取字段集合:hkeys dog 獲取dog下所有字段名

10. 只獲取字段值集合:hvals dog 獲取dog下所有字段對應值

11. 獲取字段的數量:hlen dog 獲取dog下字段的個數


三. 列表類型

類型介紹

列表類型存放有序的字符串列表集合,常用的操作向列表的兩端插入數據,或者獲取列表的某段數據。


操作命令

1. 向列表的左邊(前面)添加:lpush hospital 1 爲hospital的左邊添加元素

2. 向列表的右邊(後面)添加:rpush hospital 2 爲hospital的右邊添加元素

3.從列表左邊彈出數據:lpop hospital 彈出數據把數據返回,同時刪除掉

4.從列表右邊彈出數據:rpop hospital 彈出數據把數據返回,同時刪除掉

5. 獲取列表中元素個數:llen hospital 獲取hospital中元素個數

6. 獲取列表中某段數據:lrange hospital 0 2 獲取hospital從0開始到2(共計3個元素),列表是從0開始。若lrange hospital 0 -1,查詢所有

7. 刪除:lrem hospital 0 2 從左邊開始刪除第一個爲2的元素(注:redis沒有rrem命令)

8. 獲取指定索引的元素值:lindex hospital 2 獲取hospital中索引爲2的元素

9. 設置指定索引的元素值:lset hospital 1 9 設置hospital中索引爲1的元素值爲9

10. 只保留指定索引間元素(其它全刪):ltrim hospital 1 2 只保留索引1到2之間的元素,其它全部刪除

11. 向列表中插入元素:

12. 將元素從一個列表轉換到另一個列表:


四. 集合類型

類型介紹

集合類型中每個元素都是不同的,且沒有順序。集合類型最常用的操作是向集合中添加、刪除元素,判斷集合中是否存在某個元素。


操作命令

1. 添加:sadd mail a 爲mail添加元素a

2. 刪除:srem mail a 刪除mail中元素a

3. 獲取集合中所有元素:smembers mail 獲取mail中所有元素

4. 判斷元素是否在集合中:sismember mail a 判斷mail集合中是否有元素a,存在返回1,不存在返回0

5. 多集合間計算差集:sdiff mail mailA

6. 多集合間計算交集:sinter mail mailA

7. 多集合間計算並集:sunion mail mailA
8. 獲得集合中元素個數:scard mail
9. 集合運算並將結果存儲:sdiffstore
10. 隨機獲取集合中元素:srandmember mail
11. 從集合中彈出一個元素:spop mail

五. 有序集合類型

類型介紹

有序集合相對集合是有順序的。有序集合中每個元素都關聯了一個分數,集合中每個元素都是不同的,但是分數可以相同。


操作命令

1. 添加:zadd scoreboard 90 aa 80 bb 95 cc

2. 獲得元素分數:zscore scoreboard aa

3. 獲取某個範圍:zrange scoreboard 0 2




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章