Redis變慢了卸留,你會怎么排查(二)

存儲大key

如果查詢慢日志發(fā)現(xiàn)拨与,并不是復(fù)雜度較高的命令導(dǎo)致的,例如都是SET艾猜、DELETE操作出現(xiàn)在慢日志記錄中,那么你就要懷疑是否存在Redis寫入了大key的情況捻悯。

Redis在寫入數(shù)據(jù)時匆赃,需要為新的數(shù)據(jù)分配內(nèi)存,當(dāng)從Redis中刪除數(shù)據(jù)時今缚,它會釋放對應(yīng)的內(nèi)存空間算柳。

如果一個key寫入的數(shù)據(jù)非常大,Redis在分配內(nèi)存時也會比較耗時姓言。同樣的瞬项,當(dāng)刪除這個key的數(shù)據(jù)時,釋放內(nèi)存也會耗時比較久何荚。

你需要檢查你的業(yè)務(wù)代碼囱淋,是否存在寫入大key的情況,需要評估寫入數(shù)據(jù)量的大小餐塘,業(yè)務(wù)層應(yīng)該避免一個key存入過大的數(shù)據(jù)量妥衣。

那么有沒有什么辦法可以掃描現(xiàn)在Redis中是否存在大key的數(shù)據(jù)嗎?

Redis也提供了掃描大key的方法:

redis-cli -h $host -p $port --bigkeys -i 0.01

使用上面的命令就可以掃描出整個實例key大小的分布情況戒傻,它是以類型維度來展示的税手。

需要注意的是當(dāng)我們在線上實例進(jìn)行大key掃描時,Redis的QPS會突增需纳,為了降低掃描過程中對Redis的影響芦倒,我們需要控制掃描的頻率,使用-i參數(shù)控制即可不翩,它表示掃描過程中每次掃描的時間間隔兵扬,單位是秒麻裳。

使用這個命令的原理,其實就是Redis在內(nèi)部執(zhí)行scan命令周霉,遍歷所有key掂器,然后針對不同類型的key執(zhí)行strlen、llen俱箱、hlen国瓮、scard、zcard來獲取字符串的長度以及容器類型(list/dict/set/zset)的元素個數(shù)狞谱。

而對于容器類型的key乃摹,只能掃描出元素最多的key,但元素最多的key不一定占用內(nèi)存最多跟衅,這一點需要我們注意下孵睬。不過使用這個命令一般我們是可以對整個實例中key的分布情況有比較清晰的了解。

針對大key的問題伶跷,Redis官方在4.0版本推出了lazy-free的機(jī)制掰读,用于異步釋放大key的內(nèi)存,降低對Redis性能的影響叭莫。即使這樣蹈集,我們也不建議使用大key,大key在集群的遷移過程中雇初,也會影響到遷移的性能拢肆,這個后面在介紹集群相關(guān)的文章時,會再詳細(xì)介紹到靖诗。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末郭怪,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子刊橘,更是在濱河造成了極大的恐慌鄙才,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件促绵,死亡現(xiàn)場離奇詭異咒循,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)绞愚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進(jìn)店門叙甸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人位衩,你說我怎么就攤上這事裆蒸。” “怎么了糖驴?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵僚祷,是天一觀的道長佛致。 經(jīng)常有香客問我,道長辙谜,這世上最難降的妖魔是什么俺榆? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮装哆,結(jié)果婚禮上罐脊,老公的妹妹穿的比我還像新娘。我一直安慰自己蜕琴,他們只是感情好萍桌,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著凌简,像睡著了一般上炎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雏搂,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天藕施,我揣著相機(jī)與錄音,去河邊找鬼凸郑。 笑死裳食,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的线椰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼尘盼,長吁一口氣:“原來是場噩夢啊……” “哼憨愉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起卿捎,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤配紫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后午阵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體躺孝,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年底桂,在試婚紗的時候發(fā)現(xiàn)自己被綠了植袍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡籽懦,死狀恐怖于个,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情暮顺,我是刑警寧澤厅篓,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布秀存,位于F島的核電站,受9級特大地震影響羽氮,放射性物質(zhì)發(fā)生泄漏或链。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一档押、第九天 我趴在偏房一處隱蔽的房頂上張望澳盐。 院中可真熱鬧,春花似錦汇荐、人聲如沸洞就。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旬蟋。三九已至,卻和暖如春革娄,著一層夾襖步出監(jiān)牢的瞬間倾贰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工拦惋, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留匆浙,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓厕妖,卻偏偏與公主長得像首尼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子言秸,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355