在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    細(xì)說(shuō)redis數(shù)據(jù)類型

    本文主要講解redis的6種數(shù)據(jù)類型。

    string

    redis的string可以存儲(chǔ)3種數(shù)據(jù)類型:string,整數(shù)和浮點(diǎn)數(shù)。

    常見的操作如下

    命令名稱

    示例

    描述

    set

    set key value

    設(shè)置鍵值對(duì)

    get

    get key

    獲取值

    incr

    incr key

    遞增值

    decr

    decr key

    遞減值

    strlen

    strlen key

    獲取字符串長(zhǎng)度

    incrby

    incrby key increment

    增加指定數(shù)字

    decrby

    decrby key decrement

    減少指定數(shù)字

    append

    append key

    value

    向尾部添加值

    getset

    getset

    key

    value

    取值并賦值

    setnx

    setnx

    key

    value

    當(dāng)value不存在時(shí)賦值

    String的數(shù)據(jù)結(jié)構(gòu)為簡(jiǎn)單動(dòng)態(tài)字符串(Simple Dynamic String,縮寫SDS),采用預(yù)分配冗余空間減少內(nèi)存的頻繁分配,當(dāng)value長(zhǎng)度小于1m時(shí),每次擴(kuò)大1倍,當(dāng)大于1m時(shí)每次多分配1m的空間,最大為512m。

    使用場(chǎng)景

    ①計(jì)數(shù)器

    ②共享session

    ③setnx實(shí)現(xiàn)分布式鎖

    list

    list是列表結(jié)構(gòu),可以存儲(chǔ)有序、可重復(fù)的元素,獲取頭部或尾部附近的記錄是極快的

    list的元素個(gè)數(shù)最多為2^32-1個(gè)(40億)

    命令名稱

    示例

    描述

    lpush

    lpush key v1,v2…

    列表左邊插入

    lpop

    lpop key

    列表左邊彈出

    rpush

    rpush key v1,v2…

    列表右邊插入

    rpop

    rpop key

    列表右邊彈出

    lpushx

    lpushx key value

    將數(shù)值插入列表頭部

    rpushx

    rpushx key value

    將值插入列表尾部

    llen

    llen key

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

    lindex

    lindex key index

    獲取列表中的下標(biāo)

    lrange

    lrange key start end

    返回列表中指定區(qū)間的元素,區(qū)間通過(guò)start和end指定

    lrem

    lrem key count

    value

    刪除列表中與value相等的元素

    當(dāng)count>0時(shí), lrem會(huì)從列表左邊開始刪除;當(dāng)count<0時(shí),

    lrem會(huì)從列表后邊開始刪除;當(dāng)count=0時(shí), lrem刪除所有值

    為value的元素

    lset

    lset key index

    value

    將列表index位置的元素設(shè)置成value的值

    ltrim

    ltrim key start

    end

    對(duì)列表進(jìn)行修剪,只保留start到end區(qū)間

    rpoplpush

    rpoplpush

    key1 key2

    從key1列表右側(cè)彈出并插入到key2列表左側(cè)

    brpoplpush

    brpoplpush

    key1 key2

    從key1列表右側(cè)彈出并插入到key2列表左側(cè),會(huì)阻塞

    list底層有多種數(shù)據(jù)類型,數(shù)據(jù)量少的時(shí)候是ziplist壓縮列表,內(nèi)存是連續(xù)分配的,當(dāng)元素個(gè)數(shù)超過(guò)某個(gè)值時(shí)轉(zhuǎn)為linkedlist雙向鏈表,redis3.2之后數(shù)據(jù)量較多時(shí)改為quicklist。因?yàn)槠胀ǖ逆湵硇枰郊又羔樋臻g,會(huì)浪費(fèi)空間,加重內(nèi)存碎片化。redis將鏈表和ziplist結(jié)合組成quicklist。

    使用場(chǎng)景:

    ①用戶列表,商品列表,評(píng)論列表等

    ②消息隊(duì)列

    ③棧

    set

    無(wú)序不重復(fù),集合中最大的成員數(shù)為 2^32 – 1

    命令名稱

    示例

    描述

    sadd

    sadd key v1 v2…

    為集合添加新成員

    srem

    srem key v1 v2 …

    刪除集合指定成員

    smembers

    smembers key

    獲取集合中所有元素

    spop

    spop key

    返回集合中一個(gè)隨機(jī)元素,并將該元素刪除

    srandmember

    srandmember key

    返回集合中一個(gè)隨機(jī)元素,不會(huì)刪除該元素

    scard

    scard key

    獲取集合中的數(shù)量

    sinter

    sinter key1 key2 …

    求多集合的交集

    sdiff

    sdiff key1 key2…

    求多集合的差集

    sunion

    sunion key1 key2…

    求多集合的并集

    set底層有兩種數(shù)據(jù)結(jié)構(gòu),一種是inset數(shù)組,另一種是hashtable,如果保存的所有值都是整數(shù)且個(gè)數(shù)不超過(guò)512個(gè)則使用inset數(shù)組,否則使用hashtable

    使用場(chǎng)景:

    ①統(tǒng)計(jì)網(wǎng)站uv

    ②統(tǒng)計(jì)共同好友

    sortedset

    有序集合,可以通過(guò)設(shè)置分?jǐn)?shù)來(lái)對(duì)元素進(jìn)行排序,元素不能重復(fù),分?jǐn)?shù)可以

    命令名稱

    示例

    描述

    zadd

    zadd key score1 v1 score2 v2…

    為集合添加新成員

    zrem

    srem key v1 v2 …

    刪除集合指定成員

    zcount

    zcount key min max

    返回分?jǐn)?shù)在[min,max]區(qū)間內(nèi)的元素?cái)?shù)量

    zincrby

    zincrby key increment member

    在集合的member分值上加increment

    zrank

    zrank key member

    獲取集合中member的排名(按分值從小到大)

    zrevrank

    zrevrank key member

    和zrank相反

    zrange

    zrange key start end

    獲取集合中指定區(qū)間成員,按分?jǐn)?shù)遞增排序

    zrevrange

    zrevrange key start end

    和zrange相反

    zset底層是采用ziplist和skiplist結(jié)構(gòu),ziplist就是地址連續(xù)的壓縮鏈表,按照分值從小到大排序,在滿足一定條件下會(huì)轉(zhuǎn)換成skiplist,即跳表。

    使用場(chǎng)景:

    ①排行榜

    hash

    String 類型的 field(域)和 value(值)的映射表,每個(gè)hash可以存儲(chǔ)2^32-1個(gè)鍵值對(duì)

    命令名稱

    示例

    描述

    hset

    hset key field value

    賦值

    hmset

    hmset key field1 value1 field2 value2…

    批量賦值

    hsetnx

    hsetnx key field value

    賦值,如果值存在則不操作

    hget

    hget key field

    獲取一個(gè)字段

    hmget

    hmset key field1 field2

    獲取多個(gè)字段值

    hgetall

    hgetall key

    獲取所有值

    hdel

    hdel key field

    刪除指定字段

    hincrby

    hincrby key field increment

    指定字段自增increment

    hlen

    hlen key

    獲取字段數(shù)量

    底層使用hashtable存儲(chǔ)數(shù)據(jù)

    使用場(chǎng)景

    ①存儲(chǔ)對(duì)象,應(yīng)用在頻繁寫操作的場(chǎng)景,string主要用在頻繁讀操作場(chǎng)景

    BitMap

    BitMap 就是通過(guò)一個(gè) bit 位來(lái)表示某個(gè)元素對(duì)應(yīng)的值或者狀態(tài), 其中的 key 就是對(duì)應(yīng)元素本身,實(shí)際上底層也是通過(guò)對(duì)字符串的操作來(lái)實(shí)現(xiàn)。

    命令名稱

    示例

    描述

    setbit

    setbit key offset value

    設(shè)置key在offset處的bit值,只能是0或者1

    getbit

    getbit key.offset

    獲取key在offset處的bit值

    bitcount

    bitcount key

    獲取key的bit位為1的個(gè)數(shù)

    bitpos

    bitpos key value

    獲取第一個(gè)值為value的bit的位置

    bitop

    bitop and[or/xor/not] destkey key

    [key …]

    對(duì)多個(gè)key 進(jìn)行邏輯運(yùn)算后存入destkey

    使用場(chǎng)景:

    ①布隆過(guò)濾器

    ②統(tǒng)計(jì)用戶每月簽到,用戶id為key,日期作為偏移量

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年8月11日 13:11
    下一篇 2022年8月11日 13:12

    相關(guān)推薦

    • 分享4條發(fā)微商朋友圈的方法(微商朋友圈應(yīng)該怎么發(fā))

      對(duì)于微商朋友來(lái)說(shuō),朋友圈的重要性不言而喻了。 那么微商的朋友圈到底該怎么發(fā)呢? 為什么同樣是經(jīng)營(yíng)一個(gè)朋友圈,有的微商看起來(lái)逼格滿滿,實(shí)際效果也不錯(cuò);而有的卻動(dòng)都不動(dòng)就被屏蔽甚至拉黑…

      2022年11月27日
    • cad連續(xù)標(biāo)注快捷鍵(cad連續(xù)標(biāo)注快捷鍵)

      本文主要講的是cad連續(xù)標(biāo)注快捷鍵,以及和cad連續(xù)標(biāo)注快捷鍵相關(guān)的知識(shí),如果覺(jué)得本文對(duì)您有所幫助,不要忘了將本文分享給朋友。 cad中連續(xù)標(biāo)注快捷鍵 CAD尺寸標(biāo)準(zhǔn)快捷命令:DL…

      2022年11月27日
    • 《原神》3.2無(wú)相交響詩(shī)第一天無(wú)相之冰怎么打?無(wú)相交響詩(shī)攻略

      原神3.2無(wú)相交響詩(shī)第一天無(wú)相之冰怎么打?最近新版本3.2版本的無(wú)相交響詩(shī)活動(dòng)又開啟了,不少玩家還不清楚具體的玩法,下面一起來(lái)看一下原神被隱去的原神3.2無(wú)相交響詩(shī)第一天無(wú)相之冰打…

      2022年11月24日
    • 《原神》畫外旅照青植之篇第七天怎么過(guò)?畫外旅照第七天玩法介紹

      原神的畫外旅照任務(wù)需要玩家達(dá)成一定的要求進(jìn)行拍照,完成任務(wù)可以獲得獎(jiǎng)勵(lì)。很多玩家想知道原神畫外旅照青植之篇第七天怎么過(guò),下面就帶來(lái)原神畫外旅照第七天玩法介紹,感興趣的小伙伴不要錯(cuò)過(guò)…

      2022年11月23日
    • magicos7.0有什么功能? magicos7.0更新內(nèi)容功能介紹

      Magicos7.0有什么功能?Magicos7.0系統(tǒng)正式發(fā)布后很多用戶比較關(guān)心新系統(tǒng)帶來(lái)的新功能有哪些。這次的系統(tǒng)升級(jí)給用戶帶來(lái)了更好的人機(jī)交互體驗(yàn),加入了很多便捷的操作功能,…

      2022年11月23日
    • 惡意點(diǎn)擊推廣神器(直通車點(diǎn)擊軟件)

      說(shuō)到如今的淘寶平臺(tái),發(fā)展趨勢(shì)是比較快的,很多商家都選擇在平臺(tái)上開店,而在經(jīng)營(yíng)店鋪的時(shí)候,就會(huì)需要通過(guò)一定的推廣工具來(lái)幫助店鋪的運(yùn)營(yíng),直通車和萬(wàn)相臺(tái)是其中的兩種,下面我們說(shuō)說(shuō)這兩種沖…

      2022年11月19日
    • 給手機(jī)安裝了Windows 11(手機(jī)上玩電腦游戲的軟件)

      電腦上體驗(yàn)了一番Windows 11 ,感覺(jué)怎么樣?接下來(lái)想要在手機(jī)上嘗試嘗試嗎?不是遠(yuǎn)程桌面,也并不是虛擬機(jī),而是手機(jī)直接運(yùn)行原生的win11系統(tǒng)! 那么最近小編就看到網(wǎng)上不少朋…

      2022年11月18日
    • 微信群沒(méi)有減號(hào)怎么踢人(微信群聊怎么踢人)

      我們?cè)趧?chuàng)建群之后,最頭疼的問(wèn)題就是有人在群里發(fā)垃圾營(yíng)銷廣告鏈接了。但是我們有時(shí)候經(jīng)常會(huì)因?yàn)槭诸^上剛好有事情在做不能及時(shí)踢掉這些人而導(dǎo)致社群人員流失。 現(xiàn)在企業(yè)微信有了防騷擾功能,我…

      2022年11月18日
    • 我的世界交錯(cuò)次元水藍(lán)元素寶石怎么獲得?黑暗沼澤水藍(lán)元素寶石獲得方法

      我的世界交錯(cuò)次元水藍(lán)元素寶石怎么獲得?我的世界交錯(cuò)次元水藍(lán)元素寶石獲取方法是什么?很多玩家不知道,交錯(cuò)次元mod有很多道具跟裝備都需要技巧獲得,水藍(lán)元素寶石用消耗凈化器中存儲(chǔ)的1桶…

      2022年11月17日
    • 原神淥華池之影拍照位置攻略 畫外旅照青植第一天通關(guān)技巧

      原神淥華池之影拍照是很多玩家關(guān)心的,這個(gè)是畫外旅照青植第一天的拍攝主題。因此想要知道這個(gè)過(guò)關(guān)攻略是什么的小伙伴們,其實(shí)這個(gè)操作方法還是很容易的,想要知道的小伙伴們,就一起來(lái)看看吧?!?/p>

      2022年11月17日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息