批量取redis key/value和批量删除key

需求:取出所有前缀为g.at.ga.的string类型的key及其value
实现:
1. 取出key
redis-cli -p 26379 -a 123456 -n 0 keys g.at.ga.* > a.txt
2. 拼出取value的命令
sed 's/^/get &/g' a.txt > b.txt
3. 取value
cat b.txt | redis-cli -p 26379 -a 123456 -n 0 --pipe > c.txt
4. 将key、value 拼成一个文件
paste a.txt c.txt > d.txt

需求2:批量删除key(要删除的key已经导出到一个文件中)
实现:
1. key文件改名
mv vsp_article_watch_add_score.log vsp_article_watch_add_score.log.1
2. 拼接删除key的命令
sed 's/^/unlink &/g' vsp_article_watch_add_score.log.1 > vsp_article_watch_add_score.log
3. 执行批量删除
cat vsp_article_watch_add_score.log | redis-cli -p 26379 -a 123456 -n 0 --pipe

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章