1、在 Linux 系统上创建用于程序存放的目录:mkdir -p /opt/task/keys
2、通过 FTP 工具上传程序,并提取出下列两个文件到/opt/task/ 下:config.propertiestask.jar
3、导出 redis 所有key 到一个文件中( 测试环境中的 62万key 导出的时间是0.526s 生产环境中有程序在时时写入redis 的话需要停止一下程序:我们测试导出 1 亿key的时间在8分钟左右,请知悉!!)time redis-cli -p 8888 keys "*" >/opt/task/keys/keys.txt
4、将导出的key 分割多个文件(小文件加快程序执行速度),并移走或删除之前导出的文件。我们的测试环境分割的是10万行,生产环境分割的是100万行。split -l 100000 keys.txt -d 0rm -f keys.txt
5、修改配置文件中相关IP,端口,key文件路径,日志路径,key前缀及过期时间432000=5天
6、以后台进程方式执行程序(避免连接终端掉线,程序未完全执行完)。测试环境中 62万key批量设置时间耗时桃轾庾殇43.452s 生产环境中1亿key批量设置时间耗时一个半小时左右。下图可以看到我们设置的5天超时时间已经过了30秒了。time java -jar task.jar >/dev/null 2>&1 &redis-cli -p 8888 ttl waybill:filename:1000023532935