国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Redis 哈希( Hash )

這篇具有很好參考價(jià)值的文章主要介紹了Redis 哈希( Hash )。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【一】簡(jiǎn)介?

Redis hash 是一個(gè)鍵值對(duì)集合。

?Redis hash 是一個(gè) string 類型的?field?和?value?的映射表, hash 特別適合用于存儲(chǔ)對(duì)象。

類似 Java 里面的 Map < String , Object?>

?用戶 ID 為查找的 key ,存儲(chǔ)的 value 用戶對(duì)象包含姓名,年齡,生日等信息,如果用普通的 key/value 結(jié)構(gòu)來存儲(chǔ)

主要有以下2種存儲(chǔ)方式

方法一:

? ? ? ? key? ? ? ? ? ? ? ? ? ? ? ? 序列化的 value 對(duì)象

? ? ? ? ? ? ? ? ????????>>>>? ? ? ? ????????姓名數(shù)據(jù)

用戶 ID ????????>>>>>>? ? ? ? ? ? ? ?年齡數(shù)據(jù)

? ? ? ? ? ? ? ? ????????>>>>? ? ? ? ? ? ? ? 生日數(shù)據(jù)

每次修改用戶的某個(gè)屬性需要先反序列化,改好以后,再序列化回去,開銷較大。

方法二:

? ? ? ? key? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Value

用戶 ID + 姓名標(biāo)簽? ? ? ? >>>>? ? ? ? ? ? ? ? 姓名數(shù)據(jù)

用戶 ID + 年齡標(biāo)簽? ? ? ? >>>>? ? ? ? ? ? ? ? 年齡數(shù)據(jù)

用戶 ID + 生日標(biāo)簽? ? ? ? >>>>? ? ? ? ? ? ? ? 生日數(shù)據(jù)

用戶 ID 數(shù)據(jù)冗余

還有第三種:

? ? ? ? key? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????????Hash

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? field? ? ? ? ? ? ? ? value

? ? ? ? ? ? ? ? ????????>>>>? ? ? ? ? ? ? 姓名標(biāo)簽? ? ? ? ?姓名數(shù)據(jù)

用戶 ID ????????>>>>>>? ? ? ? ? ? ?年齡標(biāo)簽? ? ? ? ?年齡數(shù)據(jù)

? ? ? ? ? ? ? ? ????????>>>>? ? ? ? ? ? ? 生日標(biāo)簽? ???????生日數(shù)據(jù)

通過 key (用戶 ID)+ field (標(biāo)簽屬性)口可以操作對(duì)應(yīng)屬性數(shù)據(jù)了,既不需要重復(fù)存儲(chǔ)數(shù)據(jù),也不會(huì)帶來序列化和并發(fā)修改控制的問題。

【二】常用命令

?hset <key> <field> <value>

給 <key> 集合中的 <field> 鍵賦值 <value>

?hget <key> <field>

從 <key> 集合中取出 <field> 對(duì)應(yīng)的 value

?hmset <key> <field1> <value1> <field2> <value2> <field3> <value3> ...

批量設(shè)置 hash 的值

?hexists <key> <field>

查看 <key> 中是否存在 <field>

?hkeys <key>

列出該 hash 集合所有 field

?hvals <key>

列出該 hash 集合中所有的 value

?hincrby <key> <field> <increment>

為哈希表 <key>?中的域 <field>?的值加上增量 1 -1

?hsetnx <key> <field> <value>

將哈希表 <key>?中的域 field 的值設(shè)置為 value ,當(dāng)且僅當(dāng)域 field 不存在

【三】數(shù)據(jù)結(jié)構(gòu)

?Hash 類型對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)是兩種: ziplist (壓縮列表), hashtable (哈希表)。當(dāng) field-value 長(zhǎng)度較短且個(gè)數(shù)較少時(shí),使用 ziplist ,否則使用 hashtable。文章來源地址http://www.zghlxwxcb.cn/news/detail-652877.html

到了這里,關(guān)于Redis 哈希( Hash )的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Redis學(xué)習(xí)2 - 哈希(Hash)

    Redis學(xué)習(xí)2 - 哈希(Hash)

    Hash操作 Redis hash 是一個(gè) string 類型的 field(字段) 和 value(值) 的映射表,hash 特別適合用于存儲(chǔ)對(duì)象。 Redis 中每個(gè) hash 可以存儲(chǔ) 232 - 1 鍵值對(duì)(40多億) 1. Hset Hset 命令用于為哈希表中的字段賦值 。 如果哈希表不存在,一個(gè)新的哈希表被創(chuàng)建并進(jìn)行 HSET 操作。 如果字段已

    2023年04月18日
    瀏覽(23)
  • 【Redis】Hash 哈希內(nèi)部編碼方式

    【Redis】Hash 哈希內(nèi)部編碼方式

    哈希的內(nèi)部編碼有兩種: ziplist(壓縮列表):當(dāng)哈希類型元素個(gè)數(shù)?于hash-max-ziplist-entries配置(默認(rèn)512個(gè))、同時(shí)所有值都?于hash-max-ziplist-value配置(默認(rèn)64字節(jié))時(shí),Redis會(huì)使?ziplist作為哈希的內(nèi)部實(shí)現(xiàn),ziplist使?更加緊湊的結(jié)構(gòu)實(shí)現(xiàn)多個(gè)元素的連續(xù)存儲(chǔ),所以在節(jié)省內(nèi)

    2024年02月07日
    瀏覽(25)
  • Redis命令---Hash(哈希)篇 (超全)

    Redis命令---Hash(哈希)篇 (超全)

    可用版本: = 2.0.0 返回值: 如果命令執(zhí)行成功,返回 OK 。 可用版本: = 2.0.0 返回值: 一個(gè)包含多個(gè)給定字段關(guān)聯(lián)值的表,表值的排列順序和指定字段的請(qǐng)求順序一樣。 可用版本: = 2.0.0 返回值: 如果字段是哈希表中的一個(gè)新建字段,并且值設(shè)置成功,返回 1 。 如果哈希表中域字段

    2024年02月19日
    瀏覽(19)
  • ②【Hash】Redis常用數(shù)據(jù)類型:Hash [使用手冊(cè)]

    ②【Hash】Redis常用數(shù)據(jù)類型:Hash [使用手冊(cè)]

    個(gè)人簡(jiǎn)介:Java領(lǐng)域新星創(chuàng)作者;阿里云技術(shù)博主、星級(jí)博主、專家博主;正在Java學(xué)習(xí)的路上摸爬滾打,記錄學(xué)習(xí)的過程~ 個(gè)人主頁(yè):.29.的博客 學(xué)習(xí)社區(qū):進(jìn)去逛一逛~ redis hash 是一個(gè)String類型的field(字段)和value(值)的映射表。 redis中每個(gè)hash可以存儲(chǔ)2^32-1個(gè)鍵值對(duì)(40多億

    2024年02月04日
    瀏覽(48)
  • Redis Hash數(shù)據(jù)結(jié)構(gòu)探秘

    Redis Hash數(shù)據(jù)結(jié)構(gòu)探秘

    在網(wǎng)上看了不少文章都是指導(dǎo)使用方式,要不就是老版本的redis結(jié)構(gòu),干脆我就自己看源碼瞅瞅怎么個(gè)事。 本文主要說明的是數(shù)據(jù)結(jié)構(gòu)和hash的基本操作原理,不是API文檔,有想知道的API請(qǐng)自行查閱文檔和代碼。 : ziplist、hashtable、listpack、rehash、dict。 先說明 ziplist 和

    2024年02月20日
    瀏覽(23)
  • Redis數(shù)據(jù)結(jié)構(gòu)之——hash

    Redis數(shù)據(jù)結(jié)構(gòu)之——hash

    以下內(nèi)容是基于Redis 6.2.6 版本整理總結(jié) Redis中hash數(shù)據(jù)類型使用了兩種編碼格式:ziplist(壓縮列表)、hashtable(哈希表) 在redis.conf配置文件中,有以下兩個(gè)參數(shù),意思為:當(dāng)節(jié)點(diǎn)數(shù)量小于512并且字符串的長(zhǎng)度小于等于64時(shí),會(huì)使用ziplist編碼。 ziplist 我們整理在下一篇文章。 Redis中的

    2023年04月26日
    瀏覽(23)
  • Redis之hash數(shù)據(jù)結(jié)構(gòu)

    Redis之hash數(shù)據(jù)結(jié)構(gòu)

    ??????? ?Redis的hash數(shù)據(jù)結(jié)構(gòu)是一個(gè)string數(shù)據(jù)類型的域和值的映射表 ,,hash數(shù)據(jù)的類型常常用來存儲(chǔ) 對(duì)象的信息,每個(gè)hash數(shù)據(jù)結(jié)構(gòu)可以存儲(chǔ)2^32-1個(gè)鍵值對(duì), 設(shè)置的哈希表域的值(HSET): ? ? ? ? 使用 HSET設(shè)置hash表的key中的field的值設(shè)置為value,當(dāng)這個(gè)的key不存在的是的,將

    2024年02月11日
    瀏覽(18)
  • Redis數(shù)據(jù)結(jié)構(gòu):Hash類型全面解析

    Redis,作為一個(gè)開源的、內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)系統(tǒng),以其出色的性能和靈活的數(shù)據(jù)類型,廣泛應(yīng)用于緩存、消息隊(duì)列、發(fā)布訂閱系統(tǒng)等多種場(chǎng)景。在 Redis 的五種基本數(shù)據(jù)類型中,Hash 類型是一種非常重要的數(shù)據(jù)類型。它可以存儲(chǔ)鍵值對(duì)的集合,且能夠用小于1毫秒的時(shí)間復(fù)雜

    2024年02月10日
    瀏覽(22)
  • redis的hash數(shù)據(jù)結(jié)構(gòu)底層簡(jiǎn)記

    hash:k和v都是string的hash表。 HSET(設(shè)置集合數(shù)據(jù),4.0之前只能設(shè)置1個(gè),之后可以設(shè)置多個(gè)),HSETNX(若k不存在則設(shè)置對(duì)應(yīng)v),HDEL(刪除指定kv,可以一次刪除多個(gè)),DEL(刪除Hash對(duì)象),HMSET(設(shè)置多個(gè)kv,4.0之后廢棄),HGETALL(查找全部數(shù)據(jù)),HGET(查詢k對(duì)應(yīng)的v),HLEN(查

    2024年02月21日
    瀏覽(23)
  • Redis 中如何設(shè)置 Hash 數(shù)據(jù)類型的過期時(shí)間?

    在 Redis 中可以通過 setex 或 expire 方式來設(shè)置 key 的過期時(shí)間。但是對(duì)于 Hash 數(shù)據(jù)類型 Redis 是不支持的,所以我們需要使用“曲線救國(guó)”的方式去實(shí)現(xiàn) Hash 數(shù)據(jù)類型的過期時(shí)間。 即,先對(duì) Hash 數(shù)據(jù)類型賦值,然后再對(duì) Hash 數(shù)據(jù)類型的 key 設(shè)置一個(gè)過期時(shí)間,這樣就間接的實(shí)現(xiàn)了

    2024年02月12日
    瀏覽(14)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包