寻找有关如何使用 spring-data RedisZSetCommands.zRangeByLex 的示例

Looking for examples on how to use spring-data RedisZSetCommands.zRangeByLex

特别需要知道:

  1. Range 的 gt、gte、lt 和 lte 方法如何工作。

  2. 有没有办法只查看一个项目?对于前。从命令行可以做到:

zadd test 0 aaaa
(integer) 1

zadd test 0 bbbb
(integer) 1

zadd test 0 aa
(integer) 1

zadd test 0 aaaaaa
(integer) 1

zrangebylex test [aaaa [aaaa
1) "aaaa"

是否可以使用 RedisZSetCommands.zRangeByLex 完成同样的操作?

直接通过 ZSetOperationsRedisZSet 支持 ZRANGEBYLEX 仍然是一个悬而未决的问题。虽然可以使用 RedisCallback.

template.execute(new RedisCallback<Set<byte[]>>() {

  @Override
  public Set<byte[]> doInRedis(RedisConnection connection) throws DataAccessException {
    return connection.zRangeByLex(key, Range.range().gte("aaaa").lte("aaaa"));
  }
});