能与redistemplate有什么差别

  介绍

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

能是复述,官方推荐的面向Java的操作复述的客户端,而redistemplate是SpringDataRedis中对JedisApi的高度封装。

使用原生能和春天的redistemplate调用连接池,发现差别巨大:,,,,,,,,,

<强>复述,配置:

,,复述,:   ,,,数据库:0   ,,,主持人:127.0.0.1   ,,,端口:6379   ,,,密码:123456   ,,,超时:5000   ,,,生菜:   ,,,,,shutdown-timeout: 200   ,,,,,池:   ,,,,,,,max-active: 500   ,,,,,,,最大空闲:100   ,,,,,,,min-idle: 50   ,,,,,,,最大等待:,2000

<强>能单元测试:

,,public  void  testJedis (), throws  IOException  {   ,,,GreExam  GreExam =, new  GreExam ();   ,,,greExam.setId (997);   ,,,String  greExamStr =, JacksonUtil.bean2Json (greExam);   ,   ,,,long  time =, 0;   ,,,for  (int 小姐:=,0;,小姐:& lt;, 100;,我+ +),{   ,,,,,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(“总时间:“,+,时间);   以前,,}

<强> redisTemplate单元测试:

,,public  void  testRedisTemplate (), throws  IOException  {   ,,,GreExam  GreExam =, new  GreExam ();   ,,,greExam.setId (997);   ,,,String  greExamStr =, JacksonUtil.bean2Json (greExam);   ,,,long  time =, 0;   ,,,for  (int 小姐:=,0;,小姐:& lt;, 100;,我+ +),{   ,,,,,//,1,推送   ,,,,,long  time1 =, System.currentTimeMillis ();   ,,,,,redisTemplate.opsForList () .leftPush (“redisTemplate-mq",, greExamStr);   ,,,,,//,2,接收   ,,,,,String  msg =,(字符串),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(“总时间:“,+,时间);   以前,,}

<强>时效对比:

能与redistemplate有什么差别“> <强>结论:</强>原生能效率优于redistemplate。另外,测试种发现,使用了100次请求,每次不进行业务操作,执行速度很快,复述,只保持了几个连接,但是若是加上自己的业务处理或者休眠几秒,会发现复述,持续保持了连接池的配置50 +连接。</p> <p>由于是单线程,上一个能执行完毕后,貌似没有关闭,而且下次调用也没有分派空闲连接,而是打开新连接,直到最小连接数饱和,才分配空空闲连接给下一个(按理说单线程应该保证新调用的时候,上一个已经完全空闲,所以不再开新连接),具体原因位置,保持疑问,可能和线程池的原理有关。</p> <p类=敖樯堋?到此为止,关于能与redistemplate的差别有了一个基础的认识,但是对于具体的使用方法还是需要多加巩固和练习,如果想了解更多相关内容,请关注行业资讯。</p><h2 class=能与redistemplate有什么差别