玩转Redis-生产环境如何导入、导出及删除大量数据

本文介绍了在Redis生产环境中如何安全高效地导入、导出和删除大量数据。通过shell脚本生成测试数据,使用Redis的管道模式进行非集群和集群模式的数据导入,以及使用非阻塞命令导出和删除指定前缀的key。文中还分享了实用技巧,如统计指定通配符key数量和免输密码连接Redis。
摘要由CSDN通过智能技术生成

  《玩转Redis》系列文章主要讲述Redis的基础及中高级应用。本文是《玩转Redis》系列第【13】篇,最新系列文章请前往公众号“zxiaofan”(点我点我)查看,或百度搜索“玩转Redis zxiaofan”即可。

本文关键字:玩转Redis、Redis数据导入、Redis大量插入、Redis数据导出、Redis导出指定通配符、Redis数据删除、Redis批量删除、Redis删除指定前缀key、Redis删除指定通配符key;

往期精选:《玩转Redis-删除了两百万key,为什么内存依旧未释放?》

大纲

  • Redis生产环境安全高效导入大量数据
    • 使用shell脚本构造测试数据
    • Redis非集群模式导入大量数据
    • Redis集群模式导入大量数据
  • Redis生产环境安全高效导出大量数据
    • Redis导入导出所有数据
    • Redis导出指定前缀(指定通配符)数据
  • Redis生产环境安全高效删除数据
    • Redis删除已知的指定key
    • Redis删除指定前缀(指定通配符)数据
  • 实用小技巧
    • Redis统计指定通配符key的数量
    • 免输密码连接Redis脚本
    • 思考题:Linux可以设置脚本可执行但不可读吗

概述:

  本文将模拟生产环境,构造大量测试数据,并完成高效安全的数据导入、数据导出、数据删除。

  众所周知,Redis是单线程的,一旦一个命令发生长时间阻塞,极易导致大量命令阻塞,从而导致生产环境雪崩,所以本文着重强调 【生产环境、安全高效】 操作。

  Let’s Go!

1、Redis生产环境安全高效导入大量数据

1.1、使用shell脚本构造测试数据

  linux环境创建dataBuild.sh脚本,此脚本用于生成测试数据,脚本的入参是测试数据的数量,脚本内容如下:

#!/bin/sh
# init Test Data.
# Build By @zxiaofan.com

echo "构造数量:$1";
rm -f ./testdata.txt;
touch testdata.txt;

starttime=`date +'%Y-%m-%d %H:%M:%S'`;
echo "Start: $starttime";

for((i=0; i< $1 ;i++))
do
	str='set key-';
	name=${
   str}${
   i}' value'${
   i};
	echo  $name>> testdata.txt;
done

endtime=`date +'%Y-%m-%d %H:%M:%S'`;
echo "End: $endtime";

start_seconds=$(date --date="$starttime" +%s);
end_seconds=$(date --date="$endtime" +%s);
echo "本次运行时间: "$((end_seconds-start_seconds))"s"
#echo 'show testdata';
#cat testdata.txt;

  建议在linux环境创建脚本,否则可能执行shell脚本时报错$’\r’: command not found。解决方案:vim acc.conf.base,然后执行 “:set fileformat=unix” ,并wq保存即可。

  接下来就可以执行脚本生成测试数据了,此处生成30W数据,脚本执行完毕后当前目录会生成测试数据文件testdata.txt。

# By @zxiaofan

# 执行脚本生成30W测试数据;

root@xxx:/study/redis# ./dataBuild.sh 300000
构造数量:300000
Start: 2020-10-11 17:30:45
End: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值