批量取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

发布了370 篇原创文章 · 获赞 599 · 访问量 218万+

猜你喜欢

转载自blog.csdn.net/wzy0623/article/details/104073928
今日推荐