redis清理某個前綴的key
創新互聯建站專注于企業營銷型網站、網站重做改版、木壘哈薩克網站定制設計、自適應品牌網站建設、H5高端網站建設、商城網站建設、集團公司官網建設、成都外貿網站建設、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為木壘哈薩克等各大城市提供網站開發制作服務。例如,某次研發上線代碼,造成了某種前綴的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另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
新聞名稱:redis清理某個key前綴的key-創新互聯
鏈接地址:http://m.newbst.com/article32/dodcsc.html
成都網站建設公司_創新互聯,為您提供網站導航、Google、全網營銷推廣、網站設計公司、網站改版、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯