亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何分析Redis字典的基礎

發布時間:2021-12-09 17:15:01 來源:億速云 閱讀:315 作者:柒染 欄目:大數據

如何分析Redis字典的基礎,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Redis的字典數據結構跟Java的HashMap一樣,也是數組+鏈表結構,數組是hash的位置,hash碰撞的值保存到鏈表種。但是跟HashMap不同的是Redis字典存儲的值都是字符串類型的,而HashMap存儲的值是所有數據類型

如何分析Redis字典的基礎

常見操作

>hset user name mango(ingeter)1>hmset user age 18 gender "男" OK>hlen user (ingeter)3 >hget user name "mango" >hgetall user "name" "mango" "age" "18" "gender" "男"

當然我們之前說過字典里面的value只能保存string,我們知道字符串類型是可以計數的,字典里面的計數命令是hincrby和incr使用方式一樣。

>hincrby user age 1(integer)18

在這里我們不禁的想起一個事情,我們在存儲一個對象的時候是使用字符串保存json,還是用字典保存在容器里面呢?這里我們想明白一個事情就是,保存在字符串的數據每次獲取的時候都是獲取所有的字段,有時候我們只想獲取對象的某個字段這里最好是使用字典存儲,因為字典是可以返回某個字段的值,相對于獲取整個對象來說還是相對節約網絡流量的。

那么字典我們知道,當鏈表的數據超過最大的鏈表數或者hash數組滿了的時候,這個字典會進行擴容。那么在Java中HashMap是通過復制一份新的空間然后遍歷整個原表重新存儲到新的表里。

但是在redis不同,如果我們進行復制的話就會占用資源堵塞其他的操作,那么我們Redis字典是如何處理的呢?

在Redis中我們有一種名叫“漸進式”的操作,啥意思?就是我們在rehash的時候會創建一個新的字典,查詢時會同時查詢兩個hash結構,然后在后續的定時任務以及hash操作指令中,循序漸進地將舊hash的內容一點點地遷移到新的hash結構中。當搬遷完成了,就會使用新的 hash 結構取而代之。

值得注意的是:當移除容器最后一個元素時,該數據結構會被刪除,此時內存被回收。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節
推薦閱讀:
  1. Redis基礎
  2. redis基礎篇

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新干县| 米泉市| 鄱阳县| 达尔| 曲松县| 凌云县| 美姑县| 常德市| 绍兴县| 闻喜县| 民和| 乌鲁木齐县| 灵石县| 渝北区| 故城县| 杂多县| 凌源市| 平顶山市| 宽城| 长春市| 光泽县| 汶川县| 新竹市| 宁德市| 光山县| 余江县| 彭山县| 西充县| 璧山县| 科技| 余姚市| 开阳县| 永新县| 横峰县| 绥芬河市| 西贡区| 比如县| 遂川县| 鲁甸县| 师宗县| 赤峰市|