沃梦达 / IT编程 / 数据库 / 正文

redis之批量导入key值数据到redis库

简单说明介绍:脚本中的data.txt文件是php程序那边在linux服务器上生成的,内容如下:[root@localhost ~]# tail -5 /data/www/e456tadd/data.txtSET 447a70c342e677ac 1,1SET 6ec81c6c460038ae 9,1SET 121a61e0...

简单说明介绍:

脚本中的data.txt文件是php程序那边在linux服务器上生成的,内容如下:

[root@localhost ~]# tail -5 /data/www/e456tadd/data.txt
SET 447a70c342e677ac 1,1
SET 6ec81c6c460038ae 9,1
SET 121a61e082c3cd67 1,1
SET 91d08ae6d6ff27e0 11,1

直接导入data.txt文件数据到redis报错提示ET Not Found ,于是怀疑文件格式不对,所以安装dos2unix命令格式转换data.txt文件。格式转换完继续导入data.txt数据到redis,但是依旧提示报错提示ET Not Found
于是安装unix2dos,继续格式转化data.txt文件,再次导入redis,成功导入了

添加脚本到定时任务,结果脚本执行失败
于是脚本中加入source /etc/profile 。
唉,妈呀,终于成功了。

导入记录日志:
[root@localhost ~]# cat /data/www/getqd/redis-load.log

2018-10-11 12:15:01
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 1014
2018-10-12 02:30:01
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 1167

脚本内容如下:

[root@localhost ~]# cat /data/scripts/redis-load.sh 
#!/bin/bash
source /etc/profile
/usr/bin/unix2dos /data/www/e456tadd/data.txt  >>/data/www/e456tadd/redis-load.log
echo $(date "+%Y-%m-%d %H:%M:%S") >>/data/www/e456tadd/redis-load.log
cat /data/www/getqd/data.txt |redis-cli -h 127.0.0.1 -p 20004 -a 'YH345667tuEq' --pipe >>/data/www/e456tadd/redis-load.log

本文标题为:redis之批量导入key值数据到redis库