首頁 > 資料庫 > Redis > 主體

Redis的五種資料類型總結

WBOY
發布: 2022-06-07 18:55:08
轉載
4501 人瀏覽過

這篇文章為大家帶來了關於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。這是以後最常用的資料型態。

        2.2常用指令

 值#在redis資料庫中新增1個字串類型的鍵和值,回傳OK表示新增成功。同名的會替換get 鍵從資料庫中取出指定鍵的值,如果有回傳值,如果沒有回傳nil

指令

##行為

#set 鍵

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執行效果

3.哈希類型hash        

#        3.1概述

Redis中的Hash型別可視為具String的鍵與String的值Map容器​​,每一個Hash可儲存40億個鍵值對。

 所以此型別非常適合儲存物件的資訊。如一個使用者有姓名,密碼,年齡等訊息,則可以有username、password和age等鍵它的儲存結構如下:

        3.2常用指令#行為hget 鍵hmset 鍵鍵hdel 鍵

##指令

#hset 鍵欄位值

#hset 鍵欄位值在指定的鍵中新增一對hash類型的欄位名稱和值

 欄位#取出指定鍵的指定欄位的值

 欄位值欄位值mulitple ,一次在某個鍵中設定多個欄位名稱和值

#hmget

 欄位欄位#一次從指定的鍵中得到多個欄位的值

# 欄位欄位

################ ###刪除一個鍵中的一個或多個欄位#########################hgetall 鍵############ #######得到某個鍵所有的欄位值###############

        3.3指令示範

需求:

建立hash類型的鍵為user,並且新增一個欄位為username,值為newboy

新增欄位為password,值為12345

向user中加入欄位為age,值為18

分別得到user中的username、password和age的欄位值

#同時在user中新增多個欄位和值,birthday 2018-01-01 sex male

同時取得多個欄位:age 和sex

得到user中所有的欄位和值

#刪除user中的生日和密碼欄位

#4.清單類型list

        4.1概述

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

        4.2常用指令

# 元素元素

指令

#行為

#lpush 鍵 元素元素

left push 在清單的左邊在指定的鍵中新增清單元素,如果該鍵不存在,Redis將為該鍵建立一個新的鍊錶,如果這個鍵已經存在,則是向list新增元素。

## 元素元素

right push在清單的右邊新增清單元素

#lpop 鍵

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

rpop 鍵

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

lrange 鍵

 開始結束
######從指定鍵的列表中取出指定範圍的元素列表,從左邊數起從0開始,從右邊數起從-1開始。如果要取整個列表,開始是0,結束是-1########################llen########### # 鍵##################得到指定清單的長度################

        4.3指令示範

執行效果

需求:

向mylist鍵的清單中,從左邊加入a b c三個元素

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

查詢所有的元素

從右邊加入一個重複的元素three

刪除最右邊的元素three

#刪除最左邊的元素c

取得清單中元素的數量

5.集合型別set

        5.1概述

在Redis中,我們可以將Set型別視為沒有排序的字元集合,和List型別一樣,我們也可以在該類型的資料值上執行新增、刪除或判斷某一元素是否存在等操作。

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

        5.2常用指令

#sadd 鍵smemberssismember 鍵srem# 鍵s#union 鍵

指令

#行為

# 元素元素在set集合中新增1個或多個元素

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

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

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

### 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的並集,並且顯示

#6.有序集合zset

        6.1概述

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

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

        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的五種資料類型總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板