广告
返回顶部
首页 > 资讯 > 数据库 >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://www.lsjlt.com/news/38536.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • jedis与redistemplate有什么差别
    jedis与redistemplate有什么差别?这篇文章运用了实例代码展示,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Jedis是Redis官方推荐的面向Java的操作Redis的...
    99+
    2022-10-18
  • redis与jedis的区别有哪些
    redis与jedis的区别有哪些?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!redis与spring的整合一般分为sp...
    99+
    2022-10-18
  • redis框架中Jedis、Lettuce、Redisson有什么区别
    小编给大家分享一下redis框架中Jedis、Lettuce、Redisson有什么区别,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!Redis官方对Java语言的封装框架推荐有十多种,主要有...
    99+
    2022-10-18
  • python中方差和标准差有什么区别
    这篇文章将为大家详细讲解有关python中方差和标准差有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面...
    99+
    2023-06-14
  • MySQL分区与分片有何差别
    本文主要给大家介绍MySQL分区与分片有何差别,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL分区与分片有何差别吧。分片:分片Shardin...
    99+
    2022-10-18
  • Linux系统跟Windows有什么差别
    本篇文章给大家分享的是有关Linux系统跟Windows有什么差别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如果您对Linux的使用还停留在命令行的层面,那您就out了。其...
    99+
    2023-06-15
  • vue与react创建APP的差别是什么
    这篇文章主要讲解了“vue与react创建APP的差别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue与react创建APP的差别是什么”吧!1....
    99+
    2022-10-19
  • 100m独享与共享带宽有何差别
    100m独享带宽与共享带宽的主要差别在于资源的分配和使用方式。1. 资源分配:独享带宽指的是用户独占一定的带宽资源,不与其他用户共享...
    99+
    2023-09-09
    带宽
  • Python语言与C#之间的差别有哪些
    这篇文章主要介绍“Python语言与C#之间的差别有哪些”,在日常操作中,相信很多人在Python语言与C#之间的差别有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python语言与C#之间的差别有哪些...
    99+
    2023-06-17
  • 深度学习和机器学习有什么差别
    深度学习和机器学习是两个相关但不同的概念。机器学习是一种广义的概念,指的是让计算机系统通过学习数据并改善性能,而不是通过显式的编程。...
    99+
    2023-09-20
    深度学习
  • sql not in与not exists使用中的细微差别是什么
    这篇文章将为大家详细讲解有关sql not in与not exists使用中的细微差别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。上面两个简单的Sq...
    99+
    2022-10-19
  • NumPy与Python内置列表计算标准差区别是什么
    本篇内容介绍了“NumPy与Python内置列表计算标准差区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 什么是 NumpyNu...
    99+
    2023-07-02
  • JavaScript与C++的差异是什么
    这篇文章主要介绍“JavaScript与C++的差异是什么”,在日常操作中,相信很多人在JavaScript与C++的差异是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript与C++的差异...
    99+
    2023-07-05
  • select count(?) from t之间的性能有什么差别
    这篇文章主要介绍“select count() from t之间的性能有什么差别”,在日常操作中,相信很多人在select count() from t之间的性能有什么差别问题上存在疑惑...
    99+
    2022-10-19
  • php中几种包含文件函数有什么差别
    这篇文章主要介绍“php中几种包含文件函数有什么差别”,在日常操作中,相信很多人在php中几种包含文件函数有什么差别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php中几种包含文件函数有什么差别”的疑惑有所...
    99+
    2023-06-20
  • Integer与int有什么区别
    Integer与int有什么区别?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Integer和int的区别Integer的默认初始值是null,而int的初始值是int,也...
    99+
    2023-06-06
  • nodejs与javascript有什么区别
    本篇文章给大家分享的是有关nodejs与javascript有什么区别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。JavaScript介绍:JavaScript(简称“JS”...
    99+
    2023-06-15
  • asp与javascript有什么区别
    这篇文章主要介绍asp与javascript有什么区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!区别是:asp是网页的一种格式,ASP是“Active Server Page”的缩写,意为“动态服务器页面”;ja...
    99+
    2023-06-15
  • JavaStringBuffer与StringBuilder有什么区别
    目录一、StringBuffer与StringBuilder的共同之处二、StringBuffer与StringBuilder的不同之处三、单线程StringBuffer与Strin...
    99+
    2023-01-18
    Java StringBuilder Java StringBuffer
  • Nodejs与Golang有什么区别
    本文小编为大家详细介绍“Nodejs与Golang有什么区别”,内容详细,步骤清晰,细节处理妥当,希望这篇“Nodejs与Golang有什么区别”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。我们来谈谈 NodeJ...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作