【背景】
线上的redis缓存中大量数据和数据库对应不上,需要统一同步一次,数据量在20w+左右
了解到redis有一个上传牛逼的方式pipe管道方式
官方说明:(https://redis.io/topics/mass-insert)


下面是实际操作:
首先发现线上环境
redis-cli命令不支持,最后发现是当前命令没有配置到环境中
把redis的redis-cli 相关内容复制到bin目录下
sudo cp src/redis-cli /usr/local/bin/
可以使用redis-cli命令了
但是执行命令的时候,需要授权

所以需要加上密码

这样就连接上了
但是我们需要使用的命令,通过官网知道是
cat data.txt | redis-cli --pipe
所以这个命令也是需要带密码认证的
可以使用:
用法:redis-cli [OPTIONS] [cmd [arg [arg …]]]
-h <主机ip>,默认是127.0.0.1
-p <端口>,默认是6379
-a <密码>,如果redis加锁,

本文介绍了如何在Linux环境下,通过Redis的pipe功能批量插入20w+条数据。由于线上环境的redis-cli命令未配置,作者首先将其复制到bin目录,并解决了授权问题。使用`redis-cli -a password --pipe`命令结合数据文件实现批量同步,整个过程在2秒内完成。
最低0.47元/天 解锁文章
964

被折叠的 条评论
为什么被折叠?



