站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        Redis的五種數(shù)據(jù)類型總結(jié)

        本篇文章給大家?guī)砹岁P(guān)于Redis的相關(guān)知識,其中主要介紹了關(guān)于數(shù)據(jù)類型的相關(guān)問題,包括了字符串類型、哈希類型、列表類型、集合類型和有序集合,下面一起來看一下,希望對大家有幫助。

        Redis的五種數(shù)據(jù)類型總結(jié)

        推薦學(xué)習(xí):Redis視頻教程

        1.Redis的5種數(shù)據(jù)類型

        redis是一種高級的key-value的存儲系統(tǒng),其中value支持五種數(shù)據(jù)類型:

        Redis支持的鍵值數(shù)據(jù)類型

        string字符串類型

        hash表類型

        list 列表類型

        set 集合類型

        zset 有序集合類型

        1. 關(guān)于key的定義,注意如下幾點:
        1. 不建議key名字太長,通常不超過1024,如果太長會影響查詢的速度。
        2. 不建議太短,太短會降低可讀性。
        3. 一般在公司,都有統(tǒng)一命名規(guī)范。

        2.字符串類型string

        2.1概述

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

        Redis的五種數(shù)據(jù)類型總結(jié)

        2.2常用命令

        命令

        行為

        set 鍵

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

        get 鍵

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

        del 鍵

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

        setnx 鍵

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

        2.3命令演示

        需求:

        1. 添加一個鍵為company,值為itcast
        2. 再設(shè)置一個鍵為company,值為heima
        3. 得到company的元素
        4. 刪除company元素
        5. 再次刪除company看返回值是否相同
        6. 得到company看返回值是多少
        7. 設(shè)置鍵為job,值為programmer
        8. 再次設(shè)置job的值為code-farmer,查詢job的值

        2.4執(zhí)行效果

        Redis的五種數(shù)據(jù)類型總結(jié)

        3.哈希類型hash

        3.1概述

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

        Redis的五種數(shù)據(jù)類型總結(jié)

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

        Redis的五種數(shù)據(jù)類型總結(jié)

        3.2常用命令

        命令

        行為

        hset 鍵 字段 值

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

        hget 鍵 字段

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

        hmset 鍵 字段 值 字段 值

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

        hmget 字段 字段

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

        hdel 鍵 字段 字段

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

        hgetall 鍵

        得到某個鍵所有的字段值

        3.3命令演示

        需求:

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

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

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

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

        Redis的五種數(shù)據(jù)類型總結(jié)

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

        Redis的五種數(shù)據(jù)類型總結(jié)

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

        Redis的五種數(shù)據(jù)類型總結(jié)

        得到user中所有的字段和值

        Redis的五種數(shù)據(jù)類型總結(jié)

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

        Redis的五種數(shù)據(jù)類型總結(jié)

        4.列表類型list

        4.1概述

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

        Redis的五種數(shù)據(jù)類型總結(jié)

        4.2常用命令

        命令

        行為

        lpush 鍵 元素 元素

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

        rpush 鍵 元素 元素

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

        lpop 鍵

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

        rpop 鍵

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

        lrange 鍵 開始 結(jié)束

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

        llen

        得到指定列表的長度

        4.3命令演示

        執(zhí)行效果

        Redis的五種數(shù)據(jù)類型總結(jié)

        需求:

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

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

        查詢所有的元素

        Redis的五種數(shù)據(jù)類型總結(jié)

        從右邊添加一個重復(fù)的元素three

        Redis的五種數(shù)據(jù)類型總結(jié)

        刪除最右邊的元素three

        Redis的五種數(shù)據(jù)類型總結(jié)

        刪除最左邊的元素c

        獲取列表中元素的個數(shù)

        Redis的五種數(shù)據(jù)類型總結(jié)

        5.集合類型set

        5.1概述

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

        Set可包含的最大元素數(shù)量是40億,和List類型不同的是,Set集合中不允許出現(xiàn)重復(fù)的元素。

        Redis的五種數(shù)據(jù)類型總結(jié)

        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元素,看能否添加成功

        顯示所有的成員,發(fā)現(xiàn)與添加的元素順序不同,元素是無序的

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

        判斷A是否在myset集合中

        判斷D是否在myset集合中

        創(chuàng)建鍵為set1的集合:元素是 a b c

        創(chuàng)建鍵為set2的集合:元素是 a b d

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

        Redis的五種數(shù)據(jù)類型總結(jié)

        6.有序集合zset

        6.1概述

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

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

        Redis的五種數(shù)據(jù)類型總結(jié)

        6.2常用命令

        命令

        行為

        zadd 鍵 分?jǐn)?shù) 值 分?jǐn)?shù) 值

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

        zrange 鍵 開始索引 結(jié)束索引

        通過索引區(qū)間返回有序集合中指定區(qū)間內(nèi)的成員

        zrem 鍵 值 值

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

        zrank 鍵

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

        zcard 鍵

        獲取有序集合的成員數(shù)

        zscore 鍵

        得到指定成員的分?jǐn)?shù)

        6.3命令演示

        添加鍵country,分?jǐn)?shù)是10,值是Japan

        添加鍵country,分?jǐn)?shù)是5,值是USA

        添加鍵country,分?jǐn)?shù)是1,值是China,分?jǐn)?shù)是120,值是Korea

        查詢country中所有的元素

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

        刪除值為USA的元素

        查詢country中還有多少個元素

        6.4效果

        Redis的五種數(shù)據(jù)類型總結(jié)

        推薦學(xué)習(xí):Redis視頻教程

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 久久久久人妻一区精品色| 99热门精品一区二区三区无码| 亚洲AV永久无码精品| 青青青国产精品国产精品久久久久| 无码精品日韩中文字幕| 国内精品视频九九九九| 国产精品分类视频分类一区| 中文字幕在线精品视频入口一区| 国产欧美精品一区二区三区四区| 国产精品成人观看视频免费| 人人妻人人澡人人爽人人精品 | wwwvr高清亚洲精品二区| 久久99国产综合精品免费| 亚洲国产成人精品女人久久久| 青青青国产精品国产精品久久久久 | 久久青青草原国产精品免费| 久久久久久久久无码精品亚洲日韩 | 99久久精品日本一区二区免费| 亚洲国产精品va在线播放 | 精品亚洲欧美高清不卡高清| 精品无码久久久久国产| 亚洲日韩国产精品乱| 久久久久亚洲精品中文字幕| 国产精品福利区一区二区三区四区| 亚洲国产精品lv| 四虎最新永久在线精品免费| 久久国产精品久久| 久久久精品午夜免费不卡| 国产精品怡红院永久免费| 高清在线亚洲精品国产二区| 国产成人精品日本亚洲网站| 国产精品污WWW在线观看| 人妻少妇精品中文字幕av蜜桃| 亚洲精品无码永久在线观看| 亚洲av午夜精品一区二区三区| 久久国产精品一区| 精品成人av一区二区三区| 国产亚洲精品影视在线产品| 精品久久久久久无码人妻热| 久久久久无码精品| 亚洲精品你懂的在线观看|