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

Redis?BigKey的問題解決

 更新時(shí)間:2023年05月17日 10:35:37   作者:tizzybepeacejoy  
本文主要介紹了Redis?BigKey的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(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對應(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)。對整個(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方式對key進(jìn)行統(tǒng)計(jì),所以使用時(shí)無需擔(dān)心對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對應(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 拆分

如果對象是整存爭取
將對象拆分后才能多個(gè)小key-value,get不同的key或者批量獲取stringRedisTemplate.opsForValue() .multiGet(keyList)如果對象是部分更新獲取數(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)文章

  • reids自定義RedisTemplate以及亂碼問題解決

    reids自定義RedisTemplate以及亂碼問題解決

    本文主要介紹了reids自定義RedisTemplate以及亂碼問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • 使用Redis實(shí)現(xiàn)分布式鎖的方法

    使用Redis實(shí)現(xiàn)分布式鎖的方法

    為了保證我們線上服務(wù)的并發(fā)性和安全性,目前我們的服務(wù)一般拋棄了單體應(yīng)用,采用的都是擴(kuò)展性很強(qiáng)的分布式架構(gòu),這篇文章主要介紹了使用Redis實(shí)現(xiàn)分布式鎖的方法,需要的朋友可以參考下
    2022-06-06
  • 詳解Redis 數(shù)據(jù)類型

    詳解Redis 數(shù)據(jù)類型

    這篇文章主要介紹了Redis 數(shù)據(jù)類型的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • redis由于目標(biāo)計(jì)算機(jī)積極拒絕,無法連接的解決

    redis由于目標(biāo)計(jì)算機(jī)積極拒絕,無法連接的解決

    這篇文章主要介紹了redis由于目標(biāo)計(jì)算機(jī)積極拒絕,無法連接的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • redis配置認(rèn)證密碼的方法

    redis配置認(rèn)證密碼的方法

    這篇文章主要介紹了redis配置認(rèn)證密碼的方法,需要的朋友可以參考下
    2016-08-08
  • Redis主從復(fù)制的實(shí)現(xiàn)示例

    Redis主從復(fù)制的實(shí)現(xiàn)示例

    Redis主從復(fù)制實(shí)現(xiàn)多機(jī)備份,本文就來介紹一下Redis主從復(fù)制的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • Redis BloomFilter實(shí)例講解

    Redis BloomFilter實(shí)例講解

    這篇文章主要介紹了Redis BloomFilter實(shí)例。BloomFilter不需要存儲(chǔ)key,節(jié)省空間,在某些對保密要求非常嚴(yán)格的場合有優(yōu)勢。想要進(jìn)一步了解BloomFilter運(yùn)用實(shí)例的小伙伴可以了解一下這篇文章
    2021-09-09
  • Redis存儲(chǔ)斷點(diǎn)續(xù)傳文件狀態(tài)的最佳實(shí)踐

    Redis存儲(chǔ)斷點(diǎn)續(xù)傳文件狀態(tài)的最佳實(shí)踐

    在斷點(diǎn)續(xù)傳系統(tǒng)中,如何高效地存儲(chǔ)和更新文件上傳狀態(tài)是關(guān)鍵,得益于 Redis 高效的內(nèi)存操作和多種數(shù)據(jù)結(jié)構(gòu)的支持,它非常適合用于存儲(chǔ)上傳過程中的臨時(shí)狀態(tài)信息,下面,我們將探討如何利用 Redis 實(shí)現(xiàn)文件上傳狀態(tài)的存儲(chǔ),需要的朋友可以參考下
    2024-12-12
  • Redis數(shù)據(jù)庫的安裝和配置教程詳解

    Redis數(shù)據(jù)庫的安裝和配置教程詳解

    這篇文章主要介紹了Redis數(shù)據(jù)庫的安裝和配置?,主要包括Linux環(huán)境安裝Redis和windows環(huán)境安裝Redis,redis客戶端安裝方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • gem install redis報(bào)錯(cuò)的解決方案

    gem install redis報(bào)錯(cuò)的解決方案

    今天小編就為大家分享一篇關(guān)于gem install redis報(bào)錯(cuò)的解決方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01

最新評論