今天在解决问题时,要批量删除redis中的一个集合中的数据。
想到要先备份数据再删除。操作方式如下:
备份数据:
echo "smembers smkey" | redis-cli -h you-host -a you-key -p 6379 -n 0 >> ./list.log
smkey中的数据就会自动写入到list.log文件中
删除数据:
redis提供了删除的方法srem Allianceblacklist 但每次只能删除一条,为了方便操作,我将删除语句写到一个文件del_list.log当中。
然后通过命令行执行这条语句
cat ./del_list.log | redis-cli -h you-host -a you-key -p 6379 -n 0
如果发现误删除了,还可以通过备份文件恢复,创建添加文件add_list.log
执行语句
cat ./add_list.log | redis-cli -h you-host -a you-key -p 6379 -n 0