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

原文地址:http://blog.51cto.com/wujianwei/2299405

时间: 2024-11-04 11:27:32

redis之批量导入key值数据到redis库的相关文章

redis pipe 批量导入数据

redis pipe 批量导入数据 速度非常快, 文本需要支持redis的协议, 使用Python生成文件 代码如下 delimiter = "\r\n" data = "*3" + delimiter + "$3" + delimiter + "set" + delimiter + "$" + str(len(row[0])) + delimiter + row[0] + delimiter + &quo

Spring Data操作Redis时,发现key值出现 \xac\xed\x00\x05t\x00\tb

原文链接:http://blog.csdn.net/yunhaibin/article/details/9001198 最近在研究redis,以及spring data对redis的支持发现了一个奇怪的现象 先说现象吧,通过redisTemplate下的opsForHash方法存储hash类型的值,操作成功以后,去redis控制台显示keys * 的时候,发现一个奇怪的现象,插入的hash类型的key前面会有一堆的\xac\xed\x00\x05t\x00\tb 这种东西,见图1 (图1) 看见

spring boot redis序列化key-value时key值前面出现多余值

参考网址:https://blog.csdn.net/yunhaibin/article/details/9001198# 业务涉及将之前的一主二从redis集群改造后5主5从的redis集群,改造完成后发现一个问题,往redis里面写数据时,key值钱面会出现多余的值(比正常的key值里面多了个t6),如下图 用redis链接客户端访问时,会显示乱码,如下图 经参考大神文章,在redis.xml配置增加redis序列化相关匹配信息解决 <bean id="redisTemplate&qu

点餐小程序,点餐系统,管理后台批量导入excel菜品数据

点餐系统上线这段时间,有好多同学反馈,是否可以添加一个菜品批量导入的功能.由于平时比较忙,一直没有时间把菜品批量导入的功能加进来.今天正好空出来时间了,就来教大家实现下菜品批量导入的功能. 后面会把这节功能录制成视频放到点餐系统的课程里. 传送门:" rel="nofollow">点餐系统,java后台+点餐小程序 老规矩,先看效果图 选择excel菜品导入数据成功 之前有看过我课程的同学肯定知道,我之前是没有批量导入的类目的,不错,这个类目就是我们今天新加的功能. 实

Redis 通配符批量删除key

问题: 线上有部分的redis key需要清理. 一. 由于Keys模糊匹配,请大家在实际运用的时候忽略掉.因为Keys会引发Redis锁,并且增加Redis的CPU占用,情况是很恶劣的, 官网说明如下: Warning: consider KEYS as a command that should only be used in production environments with extreme care. It may ruin performance when it is execu

获取redis中所有的key,清空整个 Redis 服务器的数据

获取 redis 中所有的 key 可用使用 *. redis 127.0.0.1:6379> KEYS * Redis Flushall 命令用于清空整个 Redis 服务器的数据(删除所有数据库的所有 key ). 语法 redis Flushall 命令基本语法如下: redis 127.0.0.1:6379> FLUSHALL redis 127.0.0.1:6379> DBSIZE # 1 号数据库的 key 数量 (integer) 6 redis 127.0.0.1:637

将mysql表数据批量导入redis zset结构中

工作中有这样一个需求,要将用户的魅力值数据做排行,生成榜单展示前40名,每隔5分钟刷新一次榜单.这样的需求用redis的zset是很方便实现的.但是数据存在mysql的表中,有400多万条,怎么将其快速的放入redis中呢? 一般我们想到是通过程序把数据从mysql中查出来,然后存入redis,但是这样不仅耗时,而且不能保证写入redis的数据的准确性,这中间存在一个部署的时差.通过google老师一查原来redis提供了批量导入数据的功能,原帖地址: http://baijian.github

使用python向Redis批量导入数据

1.使用pipeline进行批量导入数据.包含先使用rpush插入数据,然后使用expire改动过期时间 class Redis_Handler(Handler): def connect(self): #print self.host,self.port,self.table self.conn = Connection(self.host,self.port,self.table) def execute(self, action_name): filename = "/tmp/temp.t

Redis批量导入数据的方法

有时候,我们需要给redis库中插入大量的数据,如做性能测试前的准备数据.遇到这种情况时,偶尔可能也会懵逼一下,这里就给大家介绍一个批量导入数据的方法. 先准备一个redis protocol的文件(redis protocol可以参考这里:https://redis.io/topics/protocol),这里是用java程序来输出的,java代码如下: <<RedisBatchTest>> public class RedisBatchTest { public static