Skip to content

分布式对象 ​

深入理解Redisson分布式对象的实现,掌握分布式集合、Map、List、Set等数据结构,理解分布式计数器、布隆过滤器等分布式对象的实现原理。

📋 分布式对象概览 ​

Redisson提供了丰富的分布式对象,这些对象在分布式环境下可以安全地使用。

🎯 一、分布式集合 ​

1.1 RSet ​

RSet是分布式Set的实现:

java
public interface RSet<V> extends Set<V>, RExpirable, RSetAsync<V> {
    boolean remove(Object value);
    boolean contains(Object o);
    Iterator<V> iterator();
}

实现原理:

  • 使用Redis的Set数据结构
  • 支持集合运算(交集、并集、差集)
  • 支持分布式操作

1.2 RList ​

RList是分布式List的实现:

java
public interface RList<V> extends List<V>, RExpirable, RListAsync<V> {
    boolean add(V value);
    V get(int index);
    boolean remove(Object value);
}

实现原理:

  • 使用Redis的List数据结构
  • 支持索引访问
  • 支持双向操作(左推、右推)

🎯 二、分布式Map ​

2.1 RMap ​

RMap是分布式Map的实现:

java
public interface RMap<K, V> extends Map<K, V>, RExpirable, RMapAsync<K, V> {
    V put(K key, V value);
    V get(Object key);
    boolean containsKey(Object key);
}

2.2 本地缓存 ​

RMapCache支持本地缓存,提高读取性能:

java
public interface RMapCache<K, V> extends RMap<K, V> {
    boolean fastPutIfAbsent(K key, V value, long ttl, TimeUnit unit);
    V getWithTTLOnly(K key);
}

本地缓存实现:

  • 本地缓存热点数据
  • 自动失效
  • 支持TTL

2.3 写入模式 ​

Redisson支持多种写入模式:

  • WRITE_THROUGH:同步写入
  • WRITE_BEHIND:异步写入

🎯 三、分布式计数器 ​

3.1 RAtomicLong ​

RAtomicLong是分布式原子长整型:

java
public interface RAtomicLong extends RExpirable, RAtomicLongAsync {
    long addAndGet(long delta);
    long incrementAndGet();
    long get();
}

实现原理:

  • 使用Redis的INCR命令
  • 保证原子性
  • 支持分布式操作

3.2 RAtomicDouble ​

RAtomicDouble是分布式原子双精度浮点型:

java
public interface RAtomicDouble extends RExpirable, RAtomicDoubleAsync {
    double addAndGet(double delta);
    double get();
}

🎯 四、布隆过滤器 ​

4.1 RBloomFilter ​

RBloomFilter是分布式布隆过滤器:

java
public interface RBloomFilter<V> extends RExpirable, RBloomFilterAsync<V> {
    boolean add(V object);
    boolean contains(V object);
    boolean tryInit(long expectedInsertions, double falseProbability);
}

应用场景:

  • 大数据去重
  • 缓存穿透防护
  • 存在性判断

📖 学习资源 ​

视频教程 ​

书籍推荐 ​

  • 《Redis设计与实现》 - 黄健宏
  • 《分布式系统常用技术及案例分析》 - 柳伟卫

网站资源 ​

✅ 学习检查清单 ​

  • [ ] 已理解分布式集合实现
  • [ ] 已理解分布式Map实现
  • [ ] 已理解本地缓存机制
  • [ ] 已理解分布式计数器
  • [ ] 已理解布隆过滤器
  • [ ] 已总结核心知识点

上一章节:分布式锁实现
下一章节:分布式服务
返回目录:Redisson源码深度解析