Redis--流水线

在使用redis时,对于相同的数据操作,通过for循环不停的与Redis交互,这样性能不是很好,Redis支持流水线技术,一次性发送所有的数据操作,这样可以大幅度的提高速度。
Demo:

redisTemplate.executePipelined(new SessionCallback<List>() {
            @Override
            public  List execute(RedisOperations operations) throws DataAccessException {
                for (int i=0;i<100;i++){
                    operations.opsForValue().set("pipeline_"+i,i,1,TimeUnit.MINUTES);
                }
                return null;
            }
        });

需要注意的是流水线技术和事务一样,都只是进入队列,然后一次性执行,这样不会马上获取到数据,必须执行完成后才能获取到数据,同样如果进行大批量的数据操作,这样会返回大量执行结果,可能会导致内存溢出,这样的话,还是一个一个的去执行。

猜你喜欢

转载自blog.csdn.net/BtWangZhi/article/details/86693337