Sau*_*ava 5 java spring redis spring-data-redis zset
ZSETs 用于在 redis 中存储排序集。我用于spring-data-redisZSetOperations。
所有范围方法都返回Set<>而不是SortedSet<>,我想知道其背后的原因是什么?
另外,由于这些不返回排序集,所有反向范围操作是否都会变得多余,因为无论如何都不会维护顺序,并且我们不能只获取索引处的任何元素?
我可能会遗漏一些非常明显的东西,请原谅我在这件事上的天真。
我的用例:
我正在存储带有日期的值作为分数。我想获取两个日期之间的所有值,检查计数并使用最近的日期。
我本来打算做类似的事情:
// get reverse sorted values, with most recent date being on top
SrotedSet<String> values = zSetOperations.rangeByScore(key, this.getBeginDate(), this.getEndDate());
// check values size and do values.get(0) i.e. the most recent date.
Run Code Online (Sandbox Code Playgroud)
但返回类型rangeByScore为Set,因此没有“get”操作。
我必须获得分数范围,然后自己对它们进行排序。
或者我必须转换为数组并获取元素。
或者做类似的事情values.iterator().next()
| 归档时间: |
|
| 查看次数: |
1329 次 |
| 最近记录: |