Skip to content

Instantly share code, notes, and snippets.

@okumin
Last active August 29, 2015 14:06
Show Gist options
  • Save okumin/0e7afd1b07db7810d79d to your computer and use it in GitHub Desktop.
Save okumin/0e7afd1b07db7810d79d to your computer and use it in GitHub Desktop.
Bulk insert into Redis

Bulk insert into Redis

script

import java.io.File
import java.io.PrintWriter
import io.gatling.redis.util.RedisHelper

def generateList(): Unit = {
  val key = "mofu"
  val writer = new PrintWriter(new File("/tmp/loadtest.txt"))
  try {
    (0 until 10).foreach { i =>
      val value = s"もふもふ$i"
      writer.write(RedisHelper.generateRedisProtocol("LPUSH", key, value))
    }
  } finally {
    writer.close()
  }
}

Before

output

*3
$5
LPUSH
$4
mofu
$5
もふもふ0
*3
$5
LPUSH
$4
mofu
$5
もふもふ1
*3
$5
LPUSH
$4
mofu
$5
もふもふ2
*3
$5
LPUSH
$4
mofu
$5
もふもふ3
*3
$5
LPUSH
$4
mofu
$5
もふもふ4
*3
$5
LPUSH
$4
mofu
$5
もふもふ5
*3
$5
LPUSH
$4
mofu
$5
もふもふ6
*3
$5
LPUSH
$4
mofu
$5
もふもふ7
*3
$5
LPUSH
$4
mofu
$5
もふもふ8
*3
$5
LPUSH
$4
mofu
$5
もふもふ9

load

$ cat /tmp/loadtest.txt | redis-cli --pipe
All data transferred. Waiting for the last reply...
ERR unknown command '��ふ0'
ERR unknown command '��ふ1'
ERR unknown command '��ふ2'
ERR unknown command '��ふ3'
ERR unknown command '��ふ4'
ERR unknown command '��ふ5'
ERR unknown command '��ふ6'
ERR unknown command '��ふ7'
ERR unknown command '��ふ8'
ERR unknown command '��ふ9'
Last reply received from server.
errors: 10, replies: 20

result

$ redis-cli --raw
127.0.0.1:6379> lrange mofu 0 -1
も�
も�
も�
も�
も�
も�
も�
も�
も�
も�

After

output

*3
$5
LPUSH
$4
mofu
$13
もふもふ0
*3
$5
LPUSH
$4
mofu
$13
もふもふ1
*3
$5
LPUSH
$4
mofu
$13
もふもふ2
*3
$5
LPUSH
$4
mofu
$13
もふもふ3
*3
$5
LPUSH
$4
mofu
$13
もふもふ4
*3
$5
LPUSH
$4
mofu
$13
もふもふ5
*3
$5
LPUSH
$4
mofu
$13
もふもふ6
*3
$5
LPUSH
$4
mofu
$13
もふもふ7
*3
$5
LPUSH
$4
mofu
$13
もふもふ8
*3
$5
LPUSH
$4
mofu
$13
もふもふ9

load

$ cat /tmp/loadtest.txt | redis-cli --pipe
All data transferred. Waiting for the last reply...
Last reply received from server.
errors: 0, replies: 10

result

$ redis-cli --raw
127.0.0.1:6379> lrange mofu 0 -1
もふもふ9
もふもふ8
もふもふ7
もふもふ6
もふもふ5
もふもふ4
もふもふ3
もふもふ2
もふもふ1
もふもふ0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment