Redis Cluster中如何使用Redisson上传字节数组?

How to use Redisson to upload byte array in Redis Cluster?

我还没有找到关于如何上传纯字节数组的解释。 Redisson 有一个 RBitSet 但它管理的是位数组而不是字节数组。如何使用Redisson存储字节数组?

这是我的配置:

Config config = new Config();

LoadBalancer loadBalancer = new RoundRobinLoadBalancer();

config.useClusterServers()
        .setScanInterval(5000) // cluster state scan interval in milliseconds
        .addNodeAddress("192.168.0.14:6379", "192.168.0.15:6379")
        .setReadMode(ReadMode.MASTER_SLAVE)
        .setLoadBalancer(loadBalancer)
        .setPassword("bTFBx1NYYWRMTUEyNHhsCg")
        .setSlaveConnectionPoolSize(10)
        .setMasterConnectionPoolSize(10);

RedissonClient redisson = Redisson.create(config);

我在 github 上得到了帮助。下面是写字节数组的方法:

RBucket<byte[]> bucket = redisson.getBucket("myBucket", ByteArrayCodec.INSTANCE);
byte[] myarray = ...
bucket.set(myarray);

自 2.6.0 / 3.1.0 版本 Redisson 提供 RBinaryStream 对象。它公开 OutputStream 对象以便更方便地使用:

byte[] content = ...

RBinaryStream stream = redisson.getBinaryStream("anyStream");

stream.set(content);
// or
OutputStream os = stream.getOuputStream();
os.write(content);