中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2022-06-08 09:33:23 來源:億速云 閱讀:274 作者:zzz 欄目:關系型數據庫

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

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

1.Redis的5種數據類型

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

Redis支持的鍵值數據類型

string字符串類型

hash表類型

list 列表類型

set 集合類型

zset 有序集合類型

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

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

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

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

2.字符串類型string

2.1概述

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

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

2.2常用命令

命令

行為

set 鍵

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

get 鍵

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

del 鍵

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

setnx 鍵

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

2.3命令演示

需求:

  1. 添加一個鍵為company,值為itcast

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

  3. 得到company的元素

  4. 刪除company元素

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

  6. 得到company看返回值是多少

  7. 設置鍵為job,值為programmer

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

2.4執行效果

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

3.哈希類型hash

3.1概述

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

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

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

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

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的字段值

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

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

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

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

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

得到user中所有的字段和值

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

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

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

4.列表類型list

4.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.集合類型set

5.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.有序集合zset

6.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的五種數據類型實例分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东阳市| 韶山市| 宜川县| 松阳县| 涡阳县| 阳泉市| 稷山县| 潼南县| 西乌珠穆沁旗| 普陀区| 民勤县| 佛山市| 荃湾区| 宁津县| 会理县| 宝山区| 邹城市| 肇东市| 安溪县| 信宜市| 蒲江县| 渭南市| 忻城县| 惠东县| 巩义市| 当涂县| 大石桥市| 西宁市| 新竹市| 贺兰县| 什邡市| 佛山市| 赤壁市| 平陆县| 永德县| 鹤壁市| 宣城市| 弥勒县| 双江| 富宁县| 汉沽区|