中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

redis 清理某個key前綴的key

發布時間:2020-07-08 14:22:32 來源:網絡 閱讀:1038 作者:我的二狗呢 欄目:系統運維

redis清理某個前綴的key


例如,某次研發上線代碼,造成了某種前綴的key出現了臟數據(例如key前綴名稱為 key_? ), 我們需要快速的清理掉這些問題key。


常用的方法有2種:

1、dump出一個全量數據,然后找出符合條件的key,進行刪除操作【推薦】

2、使用scan掃描redis,將全部key撈出來,然后再刪除符合條件的key



我們這里使用第一種方法,具體如下操作:


1、在slave節點bgsave命令dump出一份全量數據

bgsave? ,生成的文件名類似? dump-6379.rdb?


2、 安裝 rdb 解析工具

pip?install?rdbtools?python-lzf???#?python2.7?下?一行命令即可完成安裝

rdb?-c?memory?dump-6379.rdb?>?memory.csv??#?用這個命令將rdb進行分析



3、過濾出符合條件的key

awk??-F?','?'{print?$3?,??$NF?}'??memory.csv?>?keys.txt????#?過濾出key的名稱和過期時間

egrep?key_??keys.txt?>?/root/key_.txt?????#?將?key_?前綴的key?過濾出來

cat?/root/key_.txt?|?sort?-k?2?-r?>?/root/sort_keys????#?對key按照日期進行倒序排序

egrep?2019-09-10?/root/sort_keys??>?/root/match_keys????#?注意:我這里緊急處理,只過濾出?2019-09-10?過期的key(這是最新的數據,也是目前業務最常訪問的key,也就是最需要緊急處理的)

awk?'{print?$1}'?/root/match_keys?>?/root/filter_keys????#?將最終需要處理的key重定向到一個文件

mkdir?/root/test/

split?-2000?/root/filter_keys??/root/test/????#?將?filter_keys?這個文件?按照每個2k行切分成多個文件,便于后續并行處理



然后,我們寫個腳本,批量處理下:


vim /root/batch.sh? 內容如下:

for?i?in?`ls?/root/test/`;?do
echo?"while?read?line;do
echo?\"del?\$line\"?|?redis-cli?-h?127.0.0.1?-p?6379?
done?<?/root/test/${i}"?>?/root/run_${i}.sh
chmod?+x?/root/run_${i}.sh?
done


這樣就生成了一堆的腳本


下面寫個腳本,批量執行下就好了;

#!/bin/bash
for?i?in?`ls?run*.sh`;?do?
nohup?sh?$i?>?/dev/null?&
done





向AI問一下細節

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

AI

茶陵县| 喀什市| 五河县| 岚皋县| 慈溪市| 秀山| 高邮市| 上蔡县| 乐都县| 西峡县| 永登县| 阳江市| 镇沅| 察隅县| 广元市| 北海市| 永胜县| 台山市| 长治市| 福海县| 乡城县| 从化市| 石柱| 广宁县| 东光县| 大足县| 上思县| 榆社县| 洱源县| 无极县| 建阳市| 广南县| 安康市| 思茅市| 吕梁市| 伊春市| 长乐市| 兴仁县| 屏山县| 山丹县| 彩票|