麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

我眼中的Redis

2024-07-21 02:52:23
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、背景:

       最近做項(xiàng)目用到了redis作為緩存,來(lái)保證查詢的響應(yīng)時(shí)間,避免給數(shù)據(jù)庫(kù)巨大的查詢壓力,就了解了下redis的相關(guān)信息。

二、我眼中的redis:

       redis是一個(gè)開(kāi)源的支持網(wǎng)絡(luò)、并可基于內(nèi)存可持久化的Key-Value的數(shù)據(jù)庫(kù),它提供多種語(yǔ)言的API(這里我用的是go的redis客戶端)。redis本質(zhì)也是一種鍵值的數(shù)據(jù)庫(kù)

,但他在保持鍵值數(shù)據(jù)庫(kù)簡(jiǎn)單快捷特點(diǎn)的同時(shí),又吸收了部分關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)。所以redis可以說(shuō)是處于關(guān)系數(shù)據(jù)庫(kù)和鍵值數(shù)據(jù)庫(kù)之間的一種數(shù)據(jù)庫(kù)。下面就介紹下redis都能存儲(chǔ)哪些數(shù)據(jù)類型。

三、redis的幾種常用數(shù)據(jù)類型:

     (1)String

              String是最常用的一種數(shù)據(jù)類型,一般的key-value存儲(chǔ)都可采用String的數(shù)據(jù)類型來(lái)存儲(chǔ)。(這里value不僅僅可以是String也可以是數(shù)字,INCRBY可以通過(guò)原子遞增保持計(jì)數(shù))

              常用命令:get、set、incrby等。同時(shí)還提供獲取字符串長(zhǎng)度、獲取字符串某一段內(nèi)容等功能。

     (2)Hash

              Redis Hash是一種string類型的filed和value的映射表,hash特別適合存儲(chǔ)對(duì)象,redis中每個(gè)hash可以存儲(chǔ)2的32次方-1個(gè)鍵值對(duì)。

              常用命令:

              1.hset:設(shè)定指定的hash field (hset "hash1" "field" "test")

              2.hmset:同時(shí)設(shè)定hash多個(gè)filed(hmset "hash1" "field1" "test1" "field2" "test2")

      3.hget:獲取指定的hash值的field(hget "hash1" "field1")

              4.hgetall:獲取所有的hash值數(shù)據(jù)(hgetall "hash1")

              5.hmget:獲取hash值的多個(gè)field(hmget "hash1" "field1" "field2")

       (3) List列表

            列表類型可以存儲(chǔ)一個(gè)有序的字符串列表,常用的操作是向列表的兩端添加元素或獲得列表的某個(gè)片段;列表類型內(nèi)部是用使用雙向鏈表實(shí)現(xiàn)的,故向列表的兩端插入元素時(shí)間復(fù)雜度都是O(1),獲取越接近兩端的元素,速度越快。

            常用命令:

            1.lpush:從左邊(即列表的頭)向list列表中插入數(shù)據(jù)(lpush "list1" "test1")

            2.rpush: 從右邊(即列表的尾)向list列表中插入數(shù)據(jù)(rpush "list" "test1")

            3.lpop:從列表左側(cè)(即列表的頭)彈出數(shù)據(jù)(lpop "list1")

            4.rpop:從列表右側(cè)(即列表的尾)彈出數(shù)據(jù)(rpop "list1")

        (4)Set集合

            集合中的元素都是不同的,且沒(méi)有順序。一個(gè)集合類型一個(gè)鍵可以存儲(chǔ)2的32次方-1個(gè)字符串。集合類型的常用操作是向集合中加入或者刪除元素、判斷某個(gè)元素是否存在等,由于集合類型在redis內(nèi)部是使用值為空的散列表實(shí)現(xiàn),所以這些操作的時(shí)間復(fù)雜度是O(1)。值得一提的是多個(gè)集合類型的鍵值之間可以進(jìn)行并集、交集、差集的運(yùn)算。

            常用命令:

    (1)sadd:用來(lái)向集合中添加一個(gè)或者多個(gè)元素,如果鍵不存在則會(huì)自動(dòng)創(chuàng)建。集合中不會(huì)有相同的元素,故若加入的元素已經(jīng)存在則會(huì)忽略這個(gè)元素(sadd "set1" "test1" "test2")

            (2)smembers:返回集合中的所有元素(smembers "set1")

            (3)sdiff:計(jì)算差集(sdiff "set1" "set2")

            (4)sinter:計(jì)算交集(sinter "set1" "set2")

            (5)sunion:計(jì)算并集(sunion "set1" "set2")

        (5)zset(Sorted set:有序集合)

            在集合類型的基礎(chǔ)上有序集合類型為集合中的元素關(guān)聯(lián)了一個(gè)分?jǐn)?shù)可以理解為權(quán)重,我們不僅可以完成插入,刪除和盤(pán)算元素是否存在等集合類型支持的操作,還能活著分?jǐn)?shù)最高(或最低)的前N個(gè)元素,獲得指定分?jǐn)?shù)范圍內(nèi)的元素等于分?jǐn)?shù)相關(guān)的操作。集合中的元素不同,但是分?jǐn)?shù)可以相同。

            常用命令:

            (1)zadd:向有序集合中加入一個(gè)元素和該元素的分?jǐn)?shù),如果該元素已經(jīng)存在則會(huì)用新的分?jǐn)?shù)替換原來(lái)的分?jǐn)?shù)。zadd返回值為新加入到集合中的元素個(gè)數(shù)(zadd scoreboard 89 test1 67 test2  80 test3)

            (2)zscore key member:獲取元素的分?jǐn)?shù)(zscore scoreboard test)

            (3)zrange key start stop:按照元素分?jǐn)?shù)從小到大順序返回索引從start到stop之間的所有元素(zrange scoreboard 0 -1)


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品中文字幕在线播放 | www久久国产| 久久久中精品2020中文 | av在线电影网站 | 精品一区二区中文字幕 | 国产精品一区二区三区在线播放 | 国产91成人 | 国产91久久精品一区二区 | 精品国产99久久久久久宅男i | 激情视频免费看 | 亚洲电影免费观看国语版 | 欧美日本免费一区二区三区 | 亚洲无av | 九九热精品在线播放 | 国产成人精品一区二区视频免费 | 成人免费福利网站 | 亚洲91网| 美女毛片儿 | 日本在线免费观看视频 | 国产精品1区 | 深夜福利视频免费观看 | 成人在线免费观看视频 | 99久久婷婷国产综合精品青牛牛 | 国产一级在线观看视频 | 吾色视频| 中文字幕在线观看亚洲 | 国产精品成人免费一区久久羞羞 | 久久国产综合视频 | 99国语露脸久久精品国产ktv | 在线亚洲播放 | 精品国产一区二区在线观看 | 久久人人做 | 新久久久久久 | 日韩黄色片在线观看 | 日本成人一二三区 | 羞羞视频免费观看入口 | 中文字幕电影免费播放 | 成人免费在线网 | 欧美成人国产va精品日本一级 | 黄色一级片免费在线观看 | www.成人在线视频 |