千家信息网

jedis与redistemplate有什么差别

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,jedis与redistemplate有什么差别?这篇文章运用了实例代码展示,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Jedis是Redis官方推荐的面向Java的操作Red
千家信息网最后更新 2026年11月01日jedis与redistemplate有什么差别

jedis与redistemplate有什么差别?这篇文章运用了实例代码展示,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Jedis是Redis官方推荐的面向Java的操作Redis的客户端,而RedisTemplate是SpringDataRedis中对JedisApi的高度封装。

使用原生jedis和spring的redisTemplate调用连接池,发现差别巨大:

redis配置:

  redis:    database: 0    host: 127.0.0.1    port: 6379    password: 123456    timeout: 5000    lettuce:      shutdown-timeout: 200      pool:        max-active: 500        max-idle: 100        min-idle: 50        max-wait: 2000

jedis单元测试:

  public void testJedis() throws IOException {    GreExam greExam = new GreExam();    greExam.setId(997);    String greExamStr = JacksonUtil.bean2Json(greExam);     long time = 0;    for (int i = 0; i < 100; i++) {      try (Jedis jedis = jedisPool.getResource()) {        // 1、推送        long time1 = System.currentTimeMillis();        jedis.lpush("jedis-mq", greExamStr);        // 2、接收        String msg = jedis.brpoplpush("jedis-mq", "jedis-mq_bak", 0);        jedis.lrem("jedis-mq_bak", 1, msg);        long time2 = System.currentTimeMillis();        time += time2 - time1;      } catch (Exception e) {        e.printStackTrace();      }    }    System.out.println("总时间:" + time);  }

redisTemplate单元测试:

  public void testRedisTemplate() throws IOException {    GreExam greExam = new GreExam();    greExam.setId(997);    String greExamStr = JacksonUtil.bean2Json(greExam);    long time = 0;    for (int i = 0; i < 100; i++) {      // 1、推送      long time1 = System.currentTimeMillis();      redisTemplate.opsForList().leftPush("redisTemplate-mq", greExamStr);      // 2、接收      String msg = (String) redisTemplate.opsForList().rightPopAndLeftPush(          "redisTemplate-mq", "redisTemplate-mq_bak", 1, TimeUnit.SECONDS);      redisTemplate.opsForList().remove("redisTemplate-mq_bak", 1, msg);      long time2 = System.currentTimeMillis();      time += time2 - time1;    }    System.out.println("总时间:" + time);  }

时效对比:

结论:原生jedis效率优于redisTemplate。另外,测试种发现,使用了100次请求,每次不进行业务操作,执行速度很快,redis只保持了几个连接,但是若是加上自己的业务处理或者休眠几秒,会发现redis持续保持了连接池的配置50+连接。

由于是单线程,上一个jedis执行完毕后,貌似没有关闭,而且下次调用也没有分派空闲连接,而是打开新连接,直到最小连接数饱和,才分配空空闲连接给下一个(按理说单线程应该保证新调用的时候,上一个已经完全空闲,所以不再开新连接),具体原因位置,保持疑问,可能和线程池的原理有关。

到此为止, 关于jedis与redistemplate的差别有了一个基础的认识, 但是对于具体的使用方法还是需要多加巩固和练习,如果想了解更多相关内容,请关注行业资讯。

差别 线程 测试 业务 代码 单元 时间 空闲 推送 配置 巨大 最小 到此为止 位置 使用方法 兴趣 内容 原因 原理 基础 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网 科技 苏州互联网科技贷款公司 无线互联网科技 广州善班互联网科技 郑州华宇互联网科技 互联网高科技企业 顺网科技2021年互联网排名 互联网科技公司的市场部门 互联网为啥属于高科技 武汉健翔互联网络科技有限公司 崇明区互联网教育科技售后服务 搜狐科技互联网 中和天地互联网科技有限公司 中科明德北京互联网科技 工业互联网展湾科技股份有限公司 无锡工业互联网科技有限公司 米泉互联网科技专业怎么样 互联网领先科技成果宣传视频 恒生互联网科技趋势 中国主要互联网科技公司 互联网科技园 广州万易互联网科技有限公司 中关村互联网 科技集团 安徽鑫晟辉互联网科技 上海致骋互联网科技 互联网金融和金融科技 济南和联互联网科技有限公司 科技与互联网的利与弊 阿里巴巴算科技企业还是互联网 众联互联网络科技
0