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

前言:

当我们需要短时间内快速插入大量数据到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...

你可能感兴趣的:(批量插入,pipe,shell,redis)