Redis-批处理

Redis-批处理

Redis 批处理是一种提高与Redis服务器交互效率的技术,它允许客户端一次性发送一组命令并在服务器端一次性执行,减少了网络往返时间和命令解析的开销。批处理通常用于执行一系列相关操作,如数据批量插入、更新或查询。以下是关于Redis批处理的一些关键概念、方法和注意事项:

原生的M操作代码示例:

/**
     * 批处理-mset
     */
    @Test
    void testMxx(){
        Jedis jedis = new Jedis("localhost", 6379);
        String[] arr = new String[2000];
        int j;
        long l = System.currentTimeMillis();
        for (int i = 1; i < 100000; i++) {
            j = (i % 1000) << 1;
            arr[j] = "test:key_" + i;
            arr[j + 1] = "value_" + i;
            if (j == 0){
                jedis.mset(arr);
            }
        }
        long l1 = System.currentTimeMillis();
        System.out.println("耗时:" + (l1 - l));

    }

Pipeline批处理

/**
     * 批处理-管道
     */
    @Test
    void testPiping(){
        Jedis jedis = new Jedis("localhost", 6379);
        long l = System.currentTimeMillis();
        // 创建管道
        Pipeline pipelined = jedis.pipelined();

        for (int i = 1; i < 100000; i++) {
            pipelined.set("test:key_" + i, "value_" + i);
            if (i % 1000 == 0) {
                pipelined.sync();
            }
        }
        long l1 = System.currentTimeMillis();
        System.out.println("耗时:" + (l1 - l));
    }

注意事项:

  1. 批处理时不建议一次携带太多命令
  2. Pipeline的多个命令之间不具备原子性
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值