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

深入理解Redis BigKey

 更新時(shí)間:2025年02月28日 09:43:21   作者:潛水的碼不二  
本文主要介紹了Redis中的BigKey問(wèn)題及其處理方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

MoreKey

大批量往redis里面插入2000W測(cè)試數(shù)據(jù)key

  • LinuxBash下面執(zhí)行,插入100w數(shù)據(jù)腳本
# 生成100W條redis批量設(shè)置kv的語(yǔ)句(key=kn,value=vn)寫入到/tmp目錄下的redisTest.txt文件中

for((i=1;i<=100*10000;i++)); 
do echo "set k$i v$i" >> /tmp/redisTest.txt ;
done;
  • 通過(guò)Redis提供的管道–pipe命令插入100W大批量數(shù)據(jù)

結(jié)合自己機(jī)器的地址:

cat /tmp/redisTest.txt | redis-cli -h 127.0.0.1 -p 6379 -a 111111 --pipe

請(qǐng)?zhí)砑訄D片描述

嘗試keys * 花費(fèi)時(shí)間

請(qǐng)?zhí)砑訄D片描述

key * 這個(gè)指令有致命的弊端,在實(shí)際環(huán)境中最好不要使用

請(qǐng)?zhí)砑訄D片描述

生產(chǎn)上限制keys */flushdb/flushall等危險(xiǎn)命令以防止誤刪誤用

通過(guò)配置設(shè)置禁用這些命令,redistribution。conf在SECURITY這一項(xiàng)中

請(qǐng)?zhí)砑訄D片描述

請(qǐng)?zhí)砑訄D片描述

SCAN命令

1.語(yǔ)法

請(qǐng)?zhí)砑訄D片描述

2.特點(diǎn)

? Redis Scan命令基本語(yǔ)法如下:

SCAN cursor [MATCH pattern] [COUNT count]

? cursor -游標(biāo)

? pattern -匹配的模式

? count -指定從數(shù)據(jù)集里返回多少元素,默認(rèn)值為10。

SCAN 命令是一個(gè)基于游標(biāo)的迭代器,每次被調(diào)用之后, 都會(huì)向用戶返回一個(gè)新的游標(biāo), 用戶在下次迭代時(shí)需要使用這個(gè)新游標(biāo)作為 SCAN 命令的游標(biāo)參數(shù), 以此來(lái)延續(xù)之前的迭代過(guò)程。

SCAN 返回一個(gè)包含兩個(gè)元素的數(shù)組,

第一個(gè)元素是用于進(jìn)行下一次迭代的新游標(biāo),

第二個(gè)元素則是一個(gè)數(shù)組, 這個(gè)數(shù)組中包含了所有被迭代的元素。如果新游標(biāo)返回零表示迭代已結(jié)束。

SCAN的遍歷順序

非常特別,它不是從第一維數(shù)組的第零位一直遍歷到末尾,而是采用了高位進(jìn)位加法來(lái)遍歷。之所以使用這樣特殊的方式進(jìn)行遍歷,是考慮到字典的擴(kuò)容和縮容時(shí)避免槽位的遍歷重復(fù)和遺漏。

3.使用

請(qǐng)?zhí)砑訄D片描述

BigKey

多大算Big

參考《阿里云Redis開發(fā)規(guī)范》

請(qǐng)?zhí)砑訄D片描述

string和二級(jí)結(jié)構(gòu)

string是value,最大512MB但是≥10KB就是bigkey

list、hash、set和zset,個(gè)數(shù)超過(guò)5000就是bigkey

? List:一個(gè)列表最多可以包含2^32-1個(gè)元素(4294967295,每個(gè)列表超過(guò)40億個(gè)元素)。

? hash:Redis中每個(gè)hash可以存儲(chǔ)2^32-1鍵值對(duì)(40多億)

? set:集合中最大的成員數(shù)為2^32-1 (4294967295,每個(gè)集合可存儲(chǔ)40多億個(gè)成員)。

? …

危害

1.內(nèi)存不均,集群遷移困難

2.超時(shí)刪除,大key刪除作梗

3.網(wǎng)絡(luò)流量阻塞

找出BigKey

redis-cli --bigkeys

好處

給出每種數(shù)據(jù)結(jié)構(gòu)Top 1 bigkey,同時(shí)給出每種數(shù)據(jù)類型的鍵值個(gè)數(shù)+平均大小

不足

想查詢大于10kb的所有key,–bigkeys參數(shù)就無(wú)能為力了,需要用到memory usage來(lái)計(jì)算每個(gè)鍵值的字節(jié)數(shù)

redis-cli --bigkeys -a 111111

redis-cli -h 127.0.0.1 -p 6379 -a 111111 --bigkeys
每隔 100 條 scan 指令就會(huì)休眠 0.1s,ops 就不會(huì)劇烈抬升,但是掃描的時(shí)間會(huì)變長(zhǎng)redis-cli -h 127.0.0.1 -p 7001 –-bigkeys -i 0.1

請(qǐng)?zhí)砑訄D片描述

MEMORY USAGE 鍵

請(qǐng)?zhí)砑訄D片描述

如何刪除

請(qǐng)?zhí)砑訄D片描述

String

一般用del,如果過(guò)于龐大unlink

hash

使用hscan每次獲取少量field-value,再使用hdel刪除每個(gè)field

請(qǐng)?zhí)砑訄D片描述

請(qǐng)?zhí)砑訄D片描述

list

使用ltrim漸進(jìn)式逐步刪除,直到全部刪除完成

請(qǐng)?zhí)砑訄D片描述

請(qǐng)?zhí)砑訄D片描述

set

使用sscan每次獲取部分元素,再使用srem命令刪除每個(gè)元素

請(qǐng)?zhí)砑訄D片描述

Zset

使用zscan每次獲取部分元素,再使用ZREMRANGEBYRANK命令刪除每個(gè)元素

請(qǐng)?zhí)砑訄D片描述

BigKey生產(chǎn)調(diào)優(yōu)

redis.conf配置文件LAZY FREEING相關(guān)說(shuō)明

阻塞和非阻塞刪除命令

請(qǐng)?zhí)砑訄D片描述

優(yōu)化配置

請(qǐng)?zhí)砑訄D片描述

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

相關(guān)文章

  • CentOS系統(tǒng)下Redis安裝和自啟動(dòng)配置的步驟

    CentOS系統(tǒng)下Redis安裝和自啟動(dòng)配置的步驟

    相信大家都知道Redis是一個(gè)C實(shí)現(xiàn)的基于內(nèi)存、可持久化的鍵值對(duì)數(shù)據(jù)庫(kù),在分布式服務(wù)中常作為緩存服務(wù)。所以這篇文章將詳細(xì)介紹在CentOS系統(tǒng)下如何從零開始安裝到配置啟動(dòng)服務(wù)。有需要的可以參考借鑒。
    2016-09-09
  • Springboot/Springcloud項(xiàng)目集成redis進(jìn)行存取的過(guò)程解析

    Springboot/Springcloud項(xiàng)目集成redis進(jìn)行存取的過(guò)程解析

    大家都知道Redis支持五種數(shù)據(jù)類型:string(字符串),hash(哈希),list(列表),set(集合),zset(sorted set:有序集合),本文重點(diǎn)給大家介紹Springboot/Springcloud項(xiàng)目集成redis進(jìn)行存取的過(guò)程,需要的朋友參考下吧
    2021-12-12
  • Satoken+Redis實(shí)現(xiàn)短信登錄、注冊(cè)、鑒權(quán)功能

    Satoken+Redis實(shí)現(xiàn)短信登錄、注冊(cè)、鑒權(quán)功能

    這篇文章主要介紹了Satoken+Redis實(shí)現(xiàn)短信登錄、注冊(cè)、鑒權(quán)功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • 緩存替換策略及應(yīng)用(以Redis、InnoDB為例)

    緩存替換策略及應(yīng)用(以Redis、InnoDB為例)

    本文以Redis、InnoDB為例給大家講解緩存替換策略及應(yīng)用,本文給大家提到五種置換策略,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-07-07
  • redis重新創(chuàng)建集群的實(shí)現(xiàn)步驟

    redis重新創(chuàng)建集群的實(shí)現(xiàn)步驟

    本文主要介紹了redis重新創(chuàng)建集群的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-05-05
  • Redis安裝及基本數(shù)據(jù)類型

    Redis安裝及基本數(shù)據(jù)類型

    這篇文章主要介紹了Redis安裝及基本數(shù)據(jù)類型,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Redis實(shí)現(xiàn)限流器的三種方法(小結(jié))

    Redis實(shí)現(xiàn)限流器的三種方法(小結(jié))

    本文主要介紹了Redis實(shí)現(xiàn)限流器的三種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Redis主從復(fù)制的原理分析

    Redis主從復(fù)制的原理分析

    Redis主從復(fù)制通過(guò)將數(shù)據(jù)鏡像到多個(gè)從節(jié)點(diǎn),實(shí)現(xiàn)高可用性和擴(kuò)展性,主從復(fù)制包括初次全量同步和增量同步兩個(gè)階段,為優(yōu)化復(fù)制性能,可以采用AOF持久化、調(diào)整復(fù)制超時(shí)時(shí)間、優(yōu)化網(wǎng)絡(luò)帶寬等措施,故障轉(zhuǎn)移機(jī)制依賴于Sentinel或Cluster組件
    2025-01-01
  • Redis之SDS數(shù)據(jù)結(jié)構(gòu)的使用

    Redis之SDS數(shù)據(jù)結(jié)構(gòu)的使用

    本文主要介紹了Redis之SDS數(shù)據(jù)結(jié)構(gòu)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 淺談Redis主從復(fù)制以及主從復(fù)制原理

    淺談Redis主從復(fù)制以及主從復(fù)制原理

    在現(xiàn)有企業(yè)中80%公司大部分使用的是redis單機(jī)服務(wù),在實(shí)際的場(chǎng)景當(dāng)中單一節(jié)點(diǎn)的redis容易面臨風(fēng)險(xiǎn)。本文將介紹Redis主從復(fù)制以及主從復(fù)制原理。
    2021-05-05

最新評(píng)論

宁德市| 安国市| 宿迁市| 河东区| 石林| 随州市| 岑巩县| 鲜城| 施甸县| 新和县| 洛隆县| 榆林市| 彰化市| 凤翔县| 蓬安县| 宁晋县| 泾源县| 陆川县| 天柱县| 岗巴县| 宜章县| 侯马市| 平和县| 额敏县| 日照市| 尉犁县| 宁蒗| 双流县| 株洲市| 昆明市| 牙克石市| 凤冈县| 枣庄市| 秀山| 林口县| 肇源县| 敦化市| 奉化市| 德格县| 伊金霍洛旗| 登封市|