- 6.1. 通用对象桶(Object Bucket)
6.1. 通用对象桶(Object Bucket)
Redisson的分布式RBucketJava对象是一种通用对象桶可以用来存放任类型的对象。 除了同步接口外,还提供了异步(Async)、反射式(Reactive)和RxJava2标准的接口。
RBucket<AnyObject> bucket = redisson.getBucket("anyObject");bucket.set(new AnyObject(1));AnyObject obj = bucket.get();bucket.trySet(new AnyObject(3));bucket.compareAndSet(new AnyObject(4), new AnyObject(5));bucket.getAndSet(new AnyObject(6));
还可以通过RBuckets接口实现批量操作多个RBucket对象:
RBuckets buckets = redisson.getBuckets();List<RBucket<V>> foundBuckets = buckets.find("myBucket*");Map<String, V> loadedBuckets = buckets.get("myBucket1", "myBucket2", "myBucket3");Map<String, Object> map = new HashMap<>();map.put("myBucket1", new MyObject());map.put("myBucket2", new MyObject());// 利用Redis的事务特性,同时保存所有的通用对象桶,如果任意一个通用对象桶已经存在则放弃保存其他所有数据。buckets.trySet(map);// 同时保存全部通用对象桶。buckets.set(map);
