欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

redis如何取hash的值

 更新時間:2023年01月18日 14:12:16   作者:田湖_怎么了  
這篇文章主要介紹了redis如何取hash的值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

redis取hash的值

命令:可以取得對應(yīng)的hash中的具體值

hmget s_account:208 account accountname

結(jié)果:“www”

如圖

命令:取得hash中的所有key

hkeys s_account:208

結(jié)果:

redis中存值是Hash沖突如何解決

Redis 中的 Hash和 Java的 HashMap 更加相似,都是數(shù)組+鏈表的結(jié)構(gòu).當(dāng)發(fā)生 hash 碰撞時將會把元素追加到鏈表上

我們先來了解下 hash 的內(nèi)部結(jié)構(gòu).第一維是數(shù)組,第二維是鏈表.組成一個 hashtable.

在 Java 中 HashMap 擴容是個很耗時的操作,需要去申請新的數(shù)組,擴容的成本并不低,因為需要遍歷一個時間復(fù)雜度為O(n)的數(shù)組,并且為其中的每個enrty進行hash計算。加入到新數(shù)組中

為了追求高性能,Redis 采用了漸進式 rehash 策略.這也是 hash 中最重要的部分.

redis在擴容的時候執(zhí)行 rehash 策略會保留新舊兩個 hashtable 結(jié)構(gòu),查詢時也會同時查詢兩個 hashtable.Redis會將舊 hashtable 中的內(nèi)容一點一點的遷移到新的 hashtable 中,當(dāng)遷移完成時,就會用新的 hashtable 取代之前的.當(dāng) hashtable 移除了最后一個元素之后,這個數(shù)據(jù)結(jié)構(gòu)將會被刪除.

數(shù)據(jù)搬遷的操作放在 hash 的后續(xù)指令中,也就是來自客戶端對 hash 的指令操作.一旦客戶端后續(xù)沒有指令操作這個 hash.Redis就會使用定時任務(wù)對數(shù)據(jù)主動搬遷.

正常情況下,當(dāng) hashtable 中元素的個數(shù)等于數(shù)組的長度時,就會開始擴容,擴容的新數(shù)組是原數(shù)組大小的 2 倍.如果 Redis 正在做 bgsave(持久化) 時,可能不會去擴容,因為要減少內(nèi)存頁的過多分離(Copy On Write).但是如果 hashtable 已經(jīng)非常滿了,元素的個數(shù)達到了數(shù)組長度的 5 倍時,Redis 會強制擴容.

當(dāng)hashtable 中元素逐漸變少時,Redis 會進行縮容來減少空間占用,并且縮容不會受 bgsave 的影響,縮容條件是元素個數(shù)少于數(shù)組長度的 10%.

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • redis分布式鎖及會出現(xiàn)的問題解決

    redis分布式鎖及會出現(xiàn)的問題解決

    這篇文章主要給大家介紹了關(guān)于redis分布式鎖及會出現(xiàn)問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • React事件綁定的方式及區(qū)別詳解

    React事件綁定的方式及區(qū)別詳解

    React提供了多種方式來綁定事件處理函數(shù),每種方式有其獨特的特點和適用場景,理解 React中不同的事件綁定方式及其差異,不僅有助于編寫高效的代碼,也能在面試中展示你對React的深刻理解,本文將詳細講解React中常見的事件綁定方式,包括其區(qū)別、優(yōu)缺點以及適用場景
    2024-12-12
  • Redis有序集合類型的操作_動力節(jié)點Java學(xué)院整理

    Redis有序集合類型的操作_動力節(jié)點Java學(xué)院整理

    今天通過本文給大家說一下Redis中最后一個數(shù)據(jù)類型 “有序集合類型”,需要的的朋友參考下吧
    2017-08-08
  • Redis中key過期策略的實現(xiàn)

    Redis中key過期策略的實現(xiàn)

    Key的過期機制是Redis保持高可用性的重要策略,過期策略分為惰性過期和定期過期,惰性過期在每次訪問key時檢查是否過期,定期過期則由serverCron方法定時清理過期key,本文就來詳細的介紹一下,感興趣的可以了解一下
    2024-09-09
  • Redis下載部署并加入idea應(yīng)用的小結(jié)

    Redis下載部署并加入idea應(yīng)用的小結(jié)

    這篇文章主要介紹了Redis下載部署并加入idea應(yīng)用,需要的朋友可以參考下
    2022-10-10
  • Redis 緩存問題及解決

    Redis 緩存問題及解決

    網(wǎng)上收集的一些經(jīng)典特效,這里因為篇幅較長,不加整理了,想運行的代碼的朋友可以點擊textarea中,全選復(fù)制即可。
    2010-07-07
  • 最新評論