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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis之批量导入key值数据到redis库相关的知识,希望对你有一定的参考价值。

简单说明介绍:

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

[[email protected] ~]# 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 。
唉,妈呀,终于成功了。

导入记录日志:
[[email protected] ~]# 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

脚本内容如下:

[[email protected] ~]# 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库的主要内容,如果未能解决你的问题,请参考以下文章

如何批量删除Redis数据库中的Key

如何使用Java来获取redis中某个key的所有数据

我是如何解决redis集群批量获取的效率问题的

如何获取redis中String类型的全部key值

Redis——批量设置key的过期时间

使用python同步mysql到redis?由于数据较多,一条一条读出来写到redis太慢,有没有可以批量操作的。