久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Redis的五種數據類型實例分析

176次閱讀
沒有評論

共計 2905 個字符,預計需要花費 8 分鐘才能閱讀完成。

本篇內容主要講解“Redis 的五種數據類型實例分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“Redis 的五種數據類型實例分析”吧!

1.Redis 的 5 種數據類型

redis 是一種高級的 key-value 的存儲系統,其中 value 支持五種數據類型:

Redis 支持的鍵值數據類型

string 字符串類型

hash 表類型

list 列表類型

set 集合類型

zset 有序集合類型

關于 key 的定義,注意如下幾點:

不建議 key 名字太長,通常不超過 1024,如果太長會影響查詢的速度。

不建議太短,太短會降低可讀性。

一般在公司,都有統一命名規范。

2. 字符串類型 string2.1 概述

字符串類型是 Redis 中最為基礎的數據存儲類型,它在 Redis 中以二進制保存,沒有編碼和解碼的過程。無論存入的是字符串、整數、浮點類型都會以字符串寫入。在 Redis 中字符串類型的 Value 最多可以容納的數據長度是 512M。這是以后最常用的數據類型。

2.2 常用命令

命令

行為

set 鍵 值

向 redis 數據庫中添加 1 個字符串類型的鍵和值,返回 OK 表示添加成功。同名的會替換

get 鍵

從數據庫中取出一個指定鍵的值,如果有返回值,如果沒有返回 nil

del 鍵

刪除指定的鍵和值,如果刪除成功,返回刪除的個數。否則返回 0

setnx 鍵 值

在指定的 key 不存在時,為 key 設置指定的值。
設置成功,返回 1。設置失敗,返回 0。

2.3 命令演示

需求:

添加一個鍵為 company,值為 itcast

再設置一個鍵為 company,值為 heima

得到 company 的元素

刪除 company 元素

再次刪除 company 看返回值是否相同

得到 company 看返回值是多少

設置鍵為 job,值為 programmer

再次設置 job 的值為 code-farmer,查詢 job 的值

2.4 執行效果

3. 哈希類型 hash3.1 概述

Redis 中的 Hash 類型可以看成具 String 的鍵和 String 的值 Map 容器,每一個 Hash 可以存儲 40 億個鍵值對。

所以該類型非常適合于存儲對象的信息。如一個用戶有姓名,密碼,年齡等信息,則可以有 username、password 和 age 等鍵它的存儲結構如下:

3.2 常用命令

命令

行為

hset 鍵 字段 值

向指定的鍵中添加一對 hash 類型的字段名和值

hget 鍵 字段

取出指定鍵的指定字段的值

hmset 鍵 字段 值 字段 值

mulitple,一次向某個鍵中設置多個字段名和值

hmget 鍵 字段 字段

一次從指定的鍵中得到多個字段的值

hdel 鍵 字段 字段

刪除一個鍵中的一個或多個字段

hgetall 鍵

得到某個鍵所有的字段值

3.3 命令演示

需求:

創建 hash 類型的鍵為 user,并且添加一個字段為 username,值為 newboy

向 user 中添加字段為 password,值為 12345

向 user 中添加字段為 age,值為 18

分別得到 user 中的 username、password 和 age 的字段值

向 user 中同時添加多個字段和值,birthday 2018-01-01 sex male

同時取得多個字段:age 和 sex

得到 user 中所有的字段和值

刪除 user 中的生日和密碼字段

4. 列表類型 list4.1 概述

在 Redis 中,List 類型是按照插入順序排序的字符串鏈表。和數據結構中的普通鏈表一樣,我們可以在其左部 (left) 和右部 (right) 添加新的元素。在插入時,如果該鍵并不存在,Redis 將為該鍵創建一個新的鏈表,如果這個鍵已經存在,則是向 list 添加元素。與此相反,如果鏈表中所有的元素均被移除,那么該鍵也將會被從數據庫中刪除。List 中可以包含的最大元素數量是 40 億個。

Redis 的五種數據類型實例分析

4.2 常用命令

命令

行為

lpush 鍵 元素 元素

left push 在列表的左邊向指定的鍵中添加列表元素,如果該鍵并不存在,Redis 將為該鍵創建一個新的鏈表,如果這個鍵已經存在,則是向 list 添加元素。

rpush 鍵 元素 元素

right push 在列表的右邊向指定的鍵中添加列表元素

lpop 鍵

left pop 從指定鍵中的左邊彈出一個元素,列表中的元素就刪除了。

rpop 鍵

right pop 從指定鍵的右邊彈出一個元素,列表中的元素就刪除了。

lrange 鍵 開始 結束

從指定鍵的列表中取出指定范圍的元素列表,從左邊數起從 0 開始,從右邊數起從 - 1 開始。如果要取整個列表,開始是 0,結束是 -1

llen 鍵

得到指定列表的長度

4.3 命令演示

執行效果

Redis 的五種數據類型實例分析

需求:

向 mylist 鍵的列表中,從左邊添加 a b c 三個元素

從右邊添加 one two three 三個元素

查詢所有的元素

Redis 的五種數據類型實例分析

從右邊添加一個重復的元素 three

Redis 的五種數據類型實例分析

刪除最右邊的元素 three

Redis 的五種數據類型實例分析

刪除最左邊的元素 c

獲取列表中元素的個數

Redis 的五種數據類型實例分析

5. 集合類型 set5.1 概述

在 Redis 中,我們可以將 Set 類型看作為沒有排序的字符集合,和 List 類型一樣,我們也可以在該類型的數據值上執行添加、刪除或判斷某一元素是否存在等操作。

Set 可包含的最大元素數量是 40 億,和 List 類型不同的是,Set 集合中不允許出現重復的元素。

Redis 的五種數據類型實例分析

5.2 常用命令

命令

行為

sadd 鍵 元素 元素

向 set 集合中添加 1 個或多個元素

smembers 鍵

查詢指定的集合中所有的元素

sismember 鍵 元素

判斷指定的元素是否在某個集合中,如果存在返回 1,否則返回 0

srem 鍵 元素 元素

remove 刪除指定的一個或多個元素

sunion 鍵 1 鍵 2

返回給定集合的并集。不存在的集合 key 被視為空集。

5.3 命令演示

需求:

向 myset 集合中添加 A B C 1 2 3 六個元素

再向 myset 中添加 B 元素,看能否添加成功

顯示所有的成員,發現與添加的元素順序不同,元素是無序的

刪除其中的 C 這個元素,再查看結果

判斷 A 是否在 myset 集合中

判斷 D 是否在 myset 集合中

創建鍵為 set1 的集合:元素是 a b c

創建鍵為 set2 的集合:元素是 a b d

得到 set1 和 set2 的并集,并且顯示

Redis 的五種數據類型實例分析

6. 有序集合 zset6.1 概述

Redis 有序集合和集合一樣也是無序不可以重復。

不同的是每個元素都會關聯一個分數。redis 正是通過分數來為集合中的成員進行從小到大的排序。有序集合的成員是唯一的, 但分數 (score) 卻可以重復,每個集合可存儲 40 多億個成員。

Redis 的五種數據類型實例分析

6.2 常用命令

命令

行為

zadd 鍵 分數 值 分數 值

向有序集合添加一個或多個成員

zrange 鍵 開始索引 結束索引

通過索引區間返回有序集合中指定區間內的成員

zrem 鍵 值 值

移除有序集合中的一個或多個成員

zrank 鍵 值

返回有序集合中指定成員的索引

zcard 鍵

獲取有序集合的成員數

zscore 鍵 值

得到指定成員的分數

6.3 命令演示

添加鍵 country,分數是 10,值是 Japan

添加鍵 country,分數是 5,值是 USA

添加鍵 country,分數是 1,值是 China,分數是 120,值是 Korea

查詢 country 中所有的元素

查詢 Japan 的索引號(從 0 開始)

刪除值為 USA 的元素

查詢 country 中還有多少個元素

6.4 效果

Redis 的五種數據類型實例分析

到此,相信大家對“Redis 的五種數據類型實例分析”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-13發表,共計2905字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 佛坪县| 邮箱| 东光县| 霍州市| 潢川县| 衡山县| 金堂县| 承德县| 黔东| 东莞市| 鄱阳县| 乌什县| 太谷县| 洪湖市| 吉木乃县| 嘉禾县| 庆城县| 濮阳县| 叙永县| 青神县| 林周县| 师宗县| 周至县| 临潭县| 泸水县| 丘北县| 临桂县| 腾冲县| 安乡县| 海宁市| 南开区| 黔南| 乃东县| 栖霞市| 河津市| 白玉县| 容城县| 虞城县| 永善县| 博野县| 剑阁县|