因此,Redis将zrange(和相关的排序集命令)指定为ORDERED结果集(也许没有重复的列表?)。
为什么然后Jedis(官方和推荐的REDIS客户端)上的zrange(和相关API)返回一个Set?根据定义,哪个没有订购概念?
这直接违反了redis操作的语义。
这是zrange jedis 2.0.0的实现:
public Set<byte[]> zrange(final byte[] key, final int start, final int end) { checkIsInMulti(); client.zrange(key, start, end); final List<byte[]> members = client.getBinaryMultiBulkReply(); return new LinkedHashSet<byte[]>(members); }
Jedis贡献者,您打算修复它吗?
根据https://github.com/xetorthio/jedis/issues/244,在2.2.0版中它将返回SorteSet