- Redis 2.6 开始 redis-cli 支持一种新的被称之为 pipe mode(管道)的新模式用于大量数据插入工作。
- Redis 中的管道技术是指:Redis Pipelining,用于提高 Redis 服务的性能。
管道技术可以在服务端还未响应时,客户端任然可以继续向服务端发送请求,即客户端可以发送多个命令到服务端,而不用等待服务器的响应,客户端会在最后再一次性读取所有的服务端的响应。 - redis的pipeline(管道)功能在命令行中没有,但是redis是支持管道的,在java的客户端(jedis)中是可以使用的。
测试发现:
1:不使用管道方式,插入1000条数据耗时328毫秒
2:使用管道方式,插入1000条数据耗时37毫秒// 测试不使用管道 public static void testInsert() { long currentTimeMillis = System.currentTimeMillis(); Jedis jedis = new Jedis("192.168.33.130", 6379); for (int i = 0; i < 1000; i++) { jedis.set("test" + i, "test" + i); } long endTimeMillis = System.currentTimeMillis(); System.out.println(endTimeMillis - currentTimeMillis); }
在插入更多数据的时候,管道的优势更加明显:测试10万条数据的时候,不使用管道要40秒,实用管道378毫秒。// 测试管道 public static void testPip() { long currentTimeMillis = System.currentTimeMillis(); Jedis jedis = new Jedis("192.168.33.130", 6379); Pipeline pipelined = jedis.pipelined(); for (int i = 0; i < 1000; i++) { pipelined.set("bb" + i, i + "bb"); } pipelined.sync(); long endTimeMillis = System.currentTimeMillis(); System.out.println(endTimeMillis - currentTimeMillis); }
9.Redis 管道(pipe mode)
最新推荐文章于 2024-07-04 12:00:23 发布