最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis?BigKey的問題解決

 更新時(shí)間:2023年05月17日 10:35:37   作者:tizzybepeacejoy  
本文主要介紹了Redis?BigKey的問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

什么是BigKey?

BigKey指的是redis中一些key value值很大,這些key在序列化與反序列化過程中花費(fèi)的時(shí)間很大! 操作bigkey的通常比較耗時(shí),也就意味著阻塞Redis可能性越大!占用的流量同時(shí)也會(huì)變得很大!

大白話就是bigkey實(shí)際指一個(gè)key對(duì)應(yīng)的value很大,占用的空間很大!

string長度大于10K,list長度大于10240認(rèn)為是big bigkeys

如何查看Redis中的bigKey?

我們以String為例:

先存儲(chǔ)幾個(gè)String key進(jìn)去,然后使用命令!
查看所有BigKey

redis-cli自帶的一個(gè)命令(不需要連接Redis)。對(duì)整個(gè)redis進(jìn)行掃描,尋找較大的key。

redis-cli -h 127.0.0.1 -p 6379 --bigkeys

Redis中有3個(gè)String , 可以看到發(fā)現(xiàn)一個(gè)BigKey key3
獲取key3的值 看看

該命令使用scan方式對(duì)key進(jìn)行統(tǒng)計(jì),所以使用時(shí)無需擔(dān)心對(duì)redis造成阻塞。
輸出大概分為兩部分,summary之上的部分,只是顯示了掃描的過程。

  • summary部分給出了每種數(shù)據(jù)結(jié)構(gòu)中最大的Key。
  • 統(tǒng)計(jì)出的最大key只有string類型是以字節(jié)長度為衡量標(biāo)準(zhǔn)的。
  • list,set,zset等都是以元素個(gè)數(shù)作為衡量標(biāo)準(zhǔn),不能說明其占的內(nèi)存就一定多。所以,如果你的Key主要以string類型存在,這種方法就比較適合。

我的hash中

key3值

這種是查看所有的key 是否是bigKey

查看單個(gè)Key

debug object

其中serializedlength表示key對(duì)應(yīng)的value序列化之后的字節(jié)數(shù)

注意:

debug object bigkey本身可能就會(huì)比較慢,它本身就會(huì)存在阻塞Redis的可能,可能會(huì)比較危險(xiǎn)、而且不太準(zhǔn)確(序列化后的長度);

memory usage

Redis 4.0開始提供memory usage命令可以計(jì)算每個(gè)鍵值的字節(jié)數(shù)

如何優(yōu)化

優(yōu)化big key的原則就是string減少字符串長度,list、hash、set、zset等減少成員數(shù);
string長度大于10K,list長度大于10240認(rèn)為是big bigkeys

1 拆分

如果對(duì)象是整存爭取
將對(duì)象拆分后才能多個(gè)小key-value,get不同的key或者批量獲取stringRedisTemplate.opsForValue() .multiGet(keyList)如果對(duì)象是部分更新獲取數(shù)據(jù)
可以分拆成幾個(gè)key-value,也可以存儲(chǔ)在hash中,部分更新部分存取!

如果是hash ,set,zset ,list 等元素
固定一個(gè)桶的數(shù)量,比如1000,每次存取的時(shí)候,先在本地計(jì)算field的hash值,模除1000,確定該field落在哪個(gè)key上。
newHashKey = hashKey + (hash(field) % 1000);
hset(newHashKey, field, value);
hget(newHashKey, field)

set, zset, list 也可以類似上述做法!

2 本地緩存

減少訪問redis次數(shù),降低危害減少訪問redis次數(shù),降低危害! 當(dāng)然本地開銷也會(huì)變大!

到此這篇關(guān)于Redis BigKey的問題解決的文章就介紹到這了,更多相關(guān)Redis BigKey內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Redis列表類型的常用命令小結(jié)

    Redis列表類型的常用命令小結(jié)

    這篇文章給大家整理了在操作Redis列表類型中的常用命令,文章總結(jié)的很全面,對(duì)大家學(xué)習(xí)Redis具有一定的參考借鑒價(jià)值,下面來一起看看吧。
    2016-09-09
  • 淺談redission鎖的默認(rèn)失效時(shí)間

    淺談redission鎖的默認(rèn)失效時(shí)間

    Redisson是一個(gè)基于Redis的Java駐留庫,提供了許多分布式對(duì)象和服務(wù),包括分布式鎖,本文主要介紹了淺談redission鎖的默認(rèn)失效時(shí)間, 具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • Redis哨兵集群模式全方位解讀

    Redis哨兵集群模式全方位解讀

    Redis哨兵集群通過心跳檢測實(shí)現(xiàn)主從自動(dòng)故障轉(zhuǎn)移,當(dāng)主節(jié)點(diǎn)宕機(jī)時(shí),依據(jù)斷開時(shí)間、優(yōu)先級(jí)、offset和運(yùn)行ID規(guī)則選舉新主,腦裂問題因網(wǎng)絡(luò)分割導(dǎo)致數(shù)據(jù)沖突,可通過配置參數(shù)限制同步延遲和從節(jié)點(diǎn)數(shù)量來避免數(shù)據(jù)丟失
    2025-09-09
  • Redis中五種數(shù)據(jù)類型簡單操作

    Redis中五種數(shù)據(jù)類型簡單操作

    這篇文章主要介紹了Redis中五種數(shù)據(jù)類型簡單操作的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Redis SETNX的實(shí)現(xiàn)示例

    Redis SETNX的實(shí)現(xiàn)示例

    SETNX是Redis提供的原子操作,用于在指定鍵不存在時(shí)設(shè)置鍵值,并返回操作結(jié)果,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • 一文帶你了解Redis怎么啟動(dòng)以及使用

    一文帶你了解Redis怎么啟動(dòng)以及使用

    對(duì)于Redis我們一般會(huì)使用到三種啟動(dòng)方式:直接啟動(dòng)、指定配置文件啟動(dòng)、開機(jī)自啟動(dòng),下面這篇文章主要給大家介紹了關(guān)于Redis怎么啟動(dòng)以及使用的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • redis 數(shù)據(jù)刪除策略和逐出算法的問題小結(jié)

    redis 數(shù)據(jù)刪除策略和逐出算法的問題小結(jié)

    這篇文章主要介紹了redis 數(shù)據(jù)刪除策略和逐出算法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 淺談Redis處理接口冪等性的兩種方案

    淺談Redis處理接口冪等性的兩種方案

    本文主要介紹了淺談Redis處理接口冪等性的兩種方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • redis數(shù)據(jù)一致性之延時(shí)雙刪策略詳解

    redis數(shù)據(jù)一致性之延時(shí)雙刪策略詳解

    在使用redis時(shí),需要保持redis和數(shù)據(jù)庫數(shù)據(jù)的一致性,最流行的解決方案之一就是延時(shí)雙刪策略,今天我們就來詳細(xì)刨析一下,需要的朋友可以參考下
    2023-09-09
  • Redis去重的3種不同方法匯總

    Redis去重的3種不同方法匯總

    Redis是完全開源免費(fèi)的,遵守BSD協(xié)議,是一個(gè)高性能的key-value數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關(guān)于Redis去重的3種不同方法,需要的朋友可以參考下
    2021-11-11

最新評(píng)論

宕昌县| 大余县| 沅陵县| 新丰县| 龙里县| 甘洛县| 威远县| 千阳县| 陕西省| 宁陵县| 射洪县| 余干县| 昌乐县| 长丰县| 三江| 乌恰县| 中阳县| 朝阳市| 镇安县| 泗水县| 奉贤区| 长宁区| 汉源县| 苍南县| 北流市| 桑植县| 东乡县| 札达县| 汉川市| 尤溪县| 客服| 本溪| 赫章县| 伊川县| 怀仁县| 涡阳县| 兴安县| 肃宁县| 长泰县| 从江县| 潞西市|