shell通过通道批量插入大量数据到redis

本文介绍了一种使用Redis进行高效批量数据插入的方法。通过管道(pipeline)机制和正确的文本文件格式化,可以显著提高Redis的数据导入速度。文章详细解释了如何生成目标文本文件,以及在不同操作系统下进行必要的转码步骤,确保命令能够被redis-cli正确解析。
前言:

当我们需要短时间内快速插入大量数据到redis中,就需要一个行之有效的方式。
实践发现redis的(Redis Mass Insertion – Redis)是个比较高效的方法。

借助于pipline插入
  1. 首先通过简单的脚本生成例如如下的:

    SET Key0 Value0
    SET Key1 Value1
    ...
    SET KeyN ValueN

    的目标文本文件。

  2. 转码

    redis-cli中只支持dos格式的换行符 \r\n ,如果在Linux下、Mac下或者Windows下创建的文件,最好都转个码。没有转码的文件,执行会失败。

    转换的方法有好多种:
    a. 利用todos进行转化。如未进行安装可参考这里

    todos set_ins_redis.txt

    b. 利用vim格式化

    $ vim set_ins_redis.txt
    :set fileformat=dos
    :wq
  3. 最后执行如下命令:

    cat set_ins_redis.txt | redis-cli  -p 8244 --pipe

    执行成功后会出现如下信息:

    All data transferred. Waiting for the last reply...
    Last reply received from server.
    errors: 0, replies: 10654294
Done

转载请注明出处。原文唯一链接:https://segmentfault.com/a/11...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值