3

したがって、Redisは、zrange(および関連するソートされたsetコマンド)をORDEREDの結果セット(おそらく重複のないリスト?)として指定します。

Jedis(公式および推奨のREDISクライアント)のzrange(および関連するAPI)がセットを返すのはなぜですか?定義上、順序付けの概念がないのはどれですか?

これは、redis操作のセマンティクスに直接違反します。

これは、zrangejedis2.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);
    } 

ジェダイの貢献者、あなたはそれを修正することを計画していますか?

4

2 に答える 2

1

LinkedHashSet は順序付きセットです。それを明示的に反映するか、単にリストを返すように API を変更する必要があります。

この会話は、SO よりもメーリング リストに適しています。

于 2011-12-20T16:20:34.263 に答える
1

バージョン 2.2.0 では、 https: //github.com/xetorthio/jedis/issues/244 によると、SorteSet が返されます。

于 2011-12-27T19:29:28.917 に答える