• 6.4. BitSet
    • 6.4.1. BitSet数据分片(Sharding)(分布式RoaringBitMap)

    6.4. BitSet

    Redisson的分布式RBitSetJava对象采用了与java.util.BiteSet类似结构的设计风格。可以理解为它是一个分布式的可伸缩式位向量。需要注意的是RBitSet的大小受Redis限制,最大长度为4 294 967 295。除了同步接口外,还提供了异步(Async)、反射式(Reactive)和RxJava2标准的接口。

    1. RBitSet set = redisson.getBitSet("simpleBitset");
    2. set.set(0, true);
    3. set.set(1812, false);
    4. set.clear(0);
    5. set.addAsync("e");
    6. set.xor("anotherBitset");

    6.4.1. BitSet数据分片(Sharding)(分布式RoaringBitMap)

    基于Redis的Redisson集群分布式BitSet通过RClusteredBitSet接口,为集群状态下的Redis环境提供了BitSet数据分片的功能。通过优化后更加有效的分布式RoaringBitMap算法,突破了原有的BitSet大小限制,达到了集群物理内存容量大小。在这里可以获取更多的内部信息。

    1. RClusteredBitSet set = redisson.getClusteredBitSet("simpleBitset");
    2. set.set(0, true);
    3. set.set(1812, false);
    4. set.clear(0);
    5. set.addAsync("e");
    6. set.xor("anotherBitset");

    该功能仅限于Redisson PRO版本。