美文网首页
spring-data-redis踩坑

spring-data-redis踩坑

作者: InkInn | 来源:发表于2018-09-10 08:54 被阅读0次

问题

最近项目经常出现下图报警

错误信息:
Bulk add of multiple elements with the same score is not supported. Add the elements individually。
意思就是SortedSet不能批量add多个相同score的元素

定位

根据异常信息首先定位到

javaorg.springframework.data.redis.connection.jedis.JedisConnection.zAddArgs
这个函数貌似就是用来做版本控制的,如果jedis版本低于要求,且批量操作score相同,则会抛出异常 要求jedis版本不低于2.4

解决

那么问题就很明显了,当前项目肯定是最近不小心引入了低于2.4版本的jedis。打开maven依赖图,果不其然,之前一直引用的是2.4.2版本的jedis,但是最近新需求开发过程中,引入其他项目组的依赖包含了2.1.0版本的jedis。立马加上exclusion,就万事大吉啦!# 思考spring-data-redis在这块为什么要限制jedis版本呢?对比了半天jedis的2.3和2.4版本,没发现什么不同。查阅资料redis的zadd历史

redis 2.4版本之后才支持批量操作。但是,这和jedis版本没多大关系吧😂😂

--------------------------------------持续思考中(撸码中)----------------------------------


后续

不死心,阅读jedis源码定位到这里:

redis.clients.jedis.BinaryJedis.zadd(final byte[] key, final Map scoreMembers)

打开这个方法的git记录

这次修改允许批量添加score相同的元素,那之前为什么不能呢?对比此次提交之前的代码

我们注意到,map是传入zet元素的,修改之前是以score为key,member为value,修改之后以member为key,score为value,这样就解决了不能批量操作score相同的元素的bug。

然而我发现jedis在2.3.0版本就解决了这个问题,spring-data-redis为什么要限制不低于2.4.0版本呢?浪费我大半天时间去看2.3和2.4版本的区别🤨🤨🤨。学会看git提交记录还是很重要的(前提是要好好写😳😳)。

相关文章

  • spring-data-redis踩坑

    问题 最近项目经常出现下图报警 错误信息:Bulk add of multiple elements with t...

  • JavaScrip-StepPitGuide《JavaScrip

    《JavaScript踩坑指南》JavaScrip-StepPitGuide? 《JavaScript踩坑指南》 ...

  • 算法踩坑6-二叉搜索树排序

    背景 接上面五篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 算法踩坑4-冒泡排序 ...

  • 算法踩坑5-归并排序

    背景 接上面四篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 算法踩坑4-冒泡排序 来...

  • D1094:踩坑的价值最大化

    是人就会踩坑,不踩坑理论上就不属于人类,踩坑是人之常情,能回头站在坑边反思,才是对踩过的的坑价值最大化的体现,要不...

  • 交互设计师所要避免的几个坑

    前言 工作中难免会踩到几个坑,即使现在不踩以后还会踩,只有踩过才会深刻记住,踩过说明爱过!但是踩过的坑必须把坑填满...

  • 踩坑,使用cocoaPods import导入时没有提示的解决办

    续上篇写的,踩坑,cocoaPods ---- framework not found Pods之后 ,又踩坑了。...

  • 2020-10-19随笔 踩坑0传值

    踩坑:当值传入0时,if条件判断时候会自己转换,记录踩坑。

  • 随笔

    读书啊,就是一个坑踩完了又掉进另一个坑,先说踩读书没用的坑,爬出来了,再踩读书要多的坑,之后再踩读书要精啊,读书要...

  • PHP中的数据类型

    一说到数据类型,这个坑就太多了,多到有哪些坑,有多少坑,不知道自己还会踩哪些坑,以及踩过的坑还会不会再踩,我对...

网友评论

      本文标题:spring-data-redis踩坑

      本文链接:https://www.haomeiwen.com/subject/frmjgftx.html