返回顶部
首页 > 资讯 > 数据库 >jedis与redistemplate有什么差别
  • 658
分享到

jedis与redistemplate有什么差别

2024-04-02 19:04:59 658人浏览 薄情痞子
摘要

jedis与Redistemplate有什么差别?这篇文章运用了实例代码展示,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Jedis是Redis官方推荐的面向Java的操作Redis的

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

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

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

您可能感兴趣的文档:

--结束END--

本文标题: jedis与redistemplate有什么差别

本文链接: https://lsjlt.com/news/38536.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • jedis与redistemplate有什么差别
    jedis与redistemplate有什么差别?这篇文章运用了实例代码展示,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Jedis是Redis官方推荐的面向Java的操作Redis的...
    99+
    2024-04-02
  • redis与jedis的区别有哪些
    redis与jedis的区别有哪些?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!redis与spring的整合一般分为sp...
    99+
    2024-04-02
  • redis框架中Jedis、Lettuce、Redisson有什么区别
    小编给大家分享一下redis框架中Jedis、Lettuce、Redisson有什么区别,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!Redis官方对Java语言的封装框架推荐有十多种,主要有...
    99+
    2024-04-02
  • python中方差和标准差有什么区别
    这篇文章将为大家详细讲解有关python中方差和标准差有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面...
    99+
    2023-06-14
  • Linux系统跟Windows有什么差别
    本篇文章给大家分享的是有关Linux系统跟Windows有什么差别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如果您对Linux的使用还停留在命令行的层面,那您就out了。其...
    99+
    2023-06-15
  • vue与react创建APP的差别是什么
    这篇文章主要讲解了“vue与react创建APP的差别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue与react创建APP的差别是什么”吧!1....
    99+
    2024-04-02
  • MySQL分区与分片有何差别
    本文主要给大家介绍MySQL分区与分片有何差别,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL分区与分片有何差别吧。分片:分片Shardin...
    99+
    2024-04-02
  • 100m独享与共享带宽有何差别
    100m独享带宽与共享带宽的主要差别在于资源的分配和使用方式。1. 资源分配:独享带宽指的是用户独占一定的带宽资源,不与其他用户共享...
    99+
    2023-09-09
    带宽
  • 深度学习和机器学习有什么差别
    深度学习和机器学习是两个相关但不同的概念。机器学习是一种广义的概念,指的是让计算机系统通过学习数据并改善性能,而不是通过显式的编程。...
    99+
    2023-09-20
    深度学习
  • Python语言与C#之间的差别有哪些
    这篇文章主要介绍“Python语言与C#之间的差别有哪些”,在日常操作中,相信很多人在Python语言与C#之间的差别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python语言与C#之间的差别有哪些...
    99+
    2023-06-17
  • ado与php有什么区别
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑什么是ADO?ADO 是一项微软的技术ADO 指 ActiveX 数据对象(ActiveX Data Objects)ADO 是一个微软的 Active-X 组件ADO ...
    99+
    2021-10-16
    ado php
  • InnoDB与MyISAM有什么区别
    MySQL 中 InnoDB 和 MyISAM 区别1、事务和外键InnoDB具有事务,支持4个事务隔离级别,回滚,崩溃修复能力和多版本并发的事务安全,包括ACID。如果应用中需要执行大量的INSERT或U...
    99+
    2024-04-02
  • kafka与redis有什么区别
    这篇文章给大家分享的是有关kafka与redis有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。kafka与redis的区别:1、redis消息推送(基于分布式 pub/...
    99+
    2024-04-02
  • redis与mongodb有什么区别
    redis与mongodb有什么区别?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!MongoDB更类似MySQL,支持字段...
    99+
    2024-04-02
  • Redis与Memcache有什么区别
    这篇文章主要介绍了Redis与Memcache有什么区别,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。Redis和Memcache 都是基于内存...
    99+
    2024-04-02
  • Redis与Memcached有什么区别
    小编给大家分享一下Redis与Memcached有什么区别,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!memcached和redis,作为近些年最常用的缓存服务器,相信大家对它们再熟悉不过了...
    99+
    2024-04-02
  • nosql与mysql有什么区别
    小编给大家分享一下nosql与mysql有什么区别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL与NoSQL都是市场上...
    99+
    2024-04-02
  • redis与mysql有什么区别
    小编给大家分享一下redis与mysql有什么区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!区别分析如下:1、mysql和redis的数据库类型mysql是关系型数据库,主要用于存放持...
    99+
    2024-04-02
  • Oracle与Mysql有什么区别
    Oracle与Mysql有什么区别,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  Oracle与Mysql的区别:  Ora...
    99+
    2024-04-02
  • js与css有什么区别
    这篇文章主要介绍“js与css有什么区别”,在日常操作中,相信很多人在js与css有什么区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js与css有什么区别”的疑惑有所帮...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作