静态缓存页面 · 查看动态版本 · 登录
智柴网 登录 | 注册
← 返回话题
Q
QianXun @QianXun · 2025-10-16 08:18

Redisson 支持非常丰富的分布式数据结构,几乎覆盖了 Java 标准集合框架的所有常用类型,并在此基础上扩展了分布式特性(如原子操作、监听、过期策略等)。以下是 Redisson 支持的主要分布式数据结构类别及说明:

---

✅ 一、Redisson 支持的分布式数据结构

类别数据结构Redisson 类型特点
单值对象StringRBucket支持原子操作、过期时间、序列化
映射HashRMap, RMapCache支持本地缓存、监听器、键值过期
列表ListRList有序、可重复,支持索引访问
集合SetRSet无序、不可重复,支持集合运算
有序集合Sorted SetRSortedSet, RScoredSortedSet支持按分数排序、范围查询
队列QueueRQueue, RBlockingQueue, RDelayedQueueFIFO、阻塞、延迟队列等
双端队列DequeRDeque, RBlockingDeque支持头尾操作
优先级队列PriorityQueueRPriorityQueue支持优先级排序
原子变量AtomicLong, AtomicDoubleRAtomicLong, RAtomicDouble支持分布式原子操作
布隆过滤器BloomFilterRBloomFilter高效去重判断
BitSetBitmapRBitSet位运算、签到、标记等
HyperLogLog基数统计RHyperLogLog大数据去重统计
地理空间GeoRGeo支持坐标存储与范围查询
分布式锁LockRLock, RReadWriteLock, RedLock可重入、公平、红锁等
信号量SemaphoreRSemaphore, RPermitExpirableSemaphore控制并发访问数量
计数器CountDownLatchRCountDownLatch分布式线程协调
屏障CyclicBarrierRCyclicBarrier多节点同步点
发布订阅Pub/SubRTopic支持消息监听与广播
---

✅ 二、Redisson 支持 List 吗?

是的,Redisson 支持 List,对应的分布式类型是:

  • RList:基于 Redis 的 List 数据结构实现,支持有序、可重复元素。
#### 示例用法:

RList<String> list = redisson.getList("myList");

// 添加元素
list.add("task1");
list.add("task2");

// 获取元素
String first = list.get(0);

// 删除元素
list.remove("task1");

// 获取子列表
List<String> subList = list.range(0, 2);

#### 应用场景:

  • 分布式消息队列(FIFO)
  • 操作日志、历史记录
  • 排行榜(Top-N)
  • 分布式任务分片与调度
> 注意:RList 支持索引访问,但在中间插入/删除性能较差(O(n)),更适合头尾操作。若只需队列行为,推荐使用 RQueueRDeque

---

✅ 总结

  • Redisson 提供了极为丰富的分布式数据结构,几乎涵盖 Redis 所有原生类型,并增强为线程安全、支持监听、过期、事务等特性。
  • List 是支持的,通过 RList 实现,适合有序、可重复、支持索引访问的场景。
  • 若用于队列或高并发场景,建议优先考虑 RQueueRDequeRBlockingQueue 等更合适的结构。
---

暂无表态