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

  • 2020 年 2 月 14 日
  • 筆記

需求:取出所有前缀为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