Redisson
Redisson 是 Redis 的 Java 客戶端,提供豐富的分散式資料結構和服務。
資料結構物件
分散式集合(Distributed Collections)
| 物件名稱 | 使用頻率 | 描述 | 主要方法 | 適用場景 | 特殊功能 |
|---|---|---|---|---|---|
| RMap | ⭐⭐⭐⭐⭐ (90%) | 分散式 HashMap | put(), get(), fastPut(), putIfAbsent() | 分散式緩存、配置管理 | 支援過期時間、批次操作 |
| RSet | ⭐⭐⭐⭐ (50%) | 分散式 HashSet | add(), remove(), contains() | 去重集合、成員管理 | 集合運算(聯集、交集、差集) |
| RList | ⭐⭐⭐ (30%) | 分散式 ArrayList | add(), remove(), get(), sort() | 分散式列表、排序需求 | 支援排序、索引訪問 |
特殊功能集合(Specialized Collections)
| 物件名稱 | 使用頻率 | 描述 | 主要方法 | 適用場景 | 特殊功能 |
|---|---|---|---|---|---|
| RQueue | ⭐⭐⭐ (25%) | 基礎隊列 | offer(), poll(), peek() | 任務隊列、FIFO 處理 | 先進先出 |
| RScoredSortedSet | ⭐⭐ (15%) | 分數排序集合 | add(score, value), valueRange(), rank() | 排行榜、積分系統 | 按分數排序、範圍查詢 |
| RDeque | ⭐⭐ (10%) | 雙端隊列 | addFirst(), addLast(), removeFirst() | 雙向處理、Stack/Queue | 兩端操作 |
| RLexSortedSet | ⭐ (<5%) | 字典序排序集合 | add(), range(), lexRange() | 字典排序、文本搜索 | 字典序範圍查詢 |
高級隊列系統(Advanced Queue Systems)
| 物件名稱 | 使用頻率 | 描述 | 主要方法 | 適用場景 | 特殊功能 |
|---|---|---|---|---|---|
| RBlockingQueue | ⭐⭐⭐ (20%) | 阻塞隊列 | take(), put(), offer(), poll(timeout) | 生產消費模式 | 阻塞等待、超時控制 |
| RPriorityQueue | ⭐⭐ (8%) | 優先級隊列 | offer(), poll() | 任務優先級處理 | 自動優先級排序 |
| RDelayedQueue | ⭐ (<5%) | 延遲隊列 | offer(item, delay, unit) | 定時任務、延遲執行 | 延遲投遞到目標隊列 |
| RBoundedBlockingQueue | ⭐ (<5%) | 有界阻塞隊列 | tryAdd(), take() | 限流、背壓控制 | 容量限制 |
分散式鎖系列(Distributed Locks)
| 物件名稱 | 使用頻率 | 描述 | 主要方法 | 適用場景 | 特殊功能 |
|---|---|---|---|---|---|
| RLock | ⭐⭐⭐⭐⭐ (95%) | 可重入鎖 | lock(), tryLock(), unlock() | 互斥操作、防併發 | 可重入、自動續期 |
| RReadWriteLock | ⭐⭐ (12%) | 讀寫鎖 | readLock(), writeLock() | 讀寫分離場景 | 讀共享、寫排他 |
| RFairLock | ⭐ (8%) | 公平鎖 | lock(), tryLock() | 避免鎖飢餓 | 按請求順序獲得鎖 |
| RMultiLock | ⭐ (<5%) | 多重鎖 | lock(), tryLock() | 多資源鎖定 | 必須獲得所有鎖 |
| RSpinLock | ⭐ (<5%) | 自旋鎖 | lock(), tryLock() | 短時間競爭 | CPU 自旋等待 |
分散式同步工具(Distributed Synchronizers)
| 物件名稱 | 使用頻率 | 描述 | 主要方法 | 適用場景 | 特殊功能 |
|---|---|---|---|---|---|
| RSemaphore | ⭐⭐⭐⭐ (45%) | 信號量 | acquire(), release(), tryAcquire() | 資源池、限流 | 許可證管理 |
| RCountDownLatch | ⭐⭐ (10%) | 倒數計數器 | await(), countDown() | 等待多任務完成 | 一次性同步 |
| RPermitExpirableSemaphore | ⭐ (5%) | 可過期信號量 | acquire(lease), release(permitId) | 臨時資源分配 | 許可證自動過期 |
| RPhaser | ⭐ (<5%) | 階段同步器 | register(), arriveAndAwaitAdvance() | 多階段同步 | 可重用的屏障 |
原子操作類(Atomic Operations)
| 物件名稱 | 使用頻率 | 描述 | 主要方法 | 適用場景 | 特殊功能 |
|---|---|---|---|---|---|
| RAtomicLong | ⭐⭐⭐⭐⭐ (85%) | 原子長整數 | get(), incrementAndGet(), compareAndSet() | 計數器、ID 生成 | 原子更新操作 |
| RLongAdder | ⭐⭐⭐ (20%) | 長整數加法器 | increment(), add(), sum() | 高併發計數 | 性能優化的計數器 |
| RAtomicDouble | ⭐⭐ (10%) | 原子浮點數 | addAndGet(), compareAndSet() | 金額計算、統計 | 浮點數原子操作 |
| RDoubleAdder | ⭐ (5%) | 浮點數加法器 | add(), sum() | 高併發求和 | 性能優化的求和器 |
特殊資料結構(Specialized Data Structures)
| 物件名稱 | 使用頻率 | 描述 | 主要方法 | 適用場景 | 特殊功能 |
|---|---|---|---|---|---|
| RBitSet | ⭐⭐ (8%) | 位圖 | set(), get(), clear(), or(), and() | 標記狀態、布隆過濾器 | 位運算、空間效率高 |
| RBloomFilter | ⭐⭐ (6%) | 布隆過濾器 | add(), contains(), tryInit() | 去重檢查、緩存穿透 | 概率性資料結構 |
| RHyperLogLog | ⭐ (3%) | 基數統計 | add(), count(), mergeWith() | 唯一值計數、UV 統計 | 近似計數、記憶體效率高 |
| RGeo | ⭐ (2%) | 地理位置 | add(), dist(), radius(), search() | LBS 服務、附近搜索 | 地理計算、範圍查詢 |
流水線與批處理(Pipeline & Batch)
| 物件名稱 | 使用頻率 | 描述 | 主要方法 | 適用場景 | 特殊功能 |
|---|---|---|---|---|---|
| RBatch | ⭐⭐⭐ (25%) | 批處理 | getMap(), getSet(), execute() | 批量操作 | 減少網路往返 |
| RBuckets | ⭐⭐ (15%) | 批量 Bucket | get(), set(), delete() | 批量鍵值操作 | 批量處理多個鍵 |
消息系統(Messaging)
| 物件名稱 | 使用頻率 | 描述 | 主要方法 | 適用場景 | 特殊功能 |
|---|---|---|---|---|---|
| RTopic | ⭐⭐⭐⭐ (40%) | 主題訂閱 | publish(), addListener() | 發布訂閱、事件通知 | 一對多廣播 |
| RPatternTopic | ⭐⭐ (12%) | 模式主題 | addListener(pattern) | 模式匹配訂閱 | 支持通配符 |
| RReliableTopic | ⭐⭐ (8%) | 可靠主題 | publish(), addListener() | 可靠消息傳遞 | 消息持久化 |
| RShardedTopic | ⭐ (3%) | 分片主題 | publish(), addListener() | 大規模消息 | 自動分片負載均衡 |
分散式服務(Distributed Services)
| 物件名稱 | 使用頻率 | 描述 | 主要方法 | 適用場景 | 特殊功能 |
|---|---|---|---|---|---|
| RRemoteService | ⭐ (3%) | 遠程服務 | register(), get() | RPC 調用 | 分散式方法調用 |
| RExecutorService | ⭐ (2%) | 執行器服務 | submit(), execute() | 分散式任務執行 | 分散式計算 |
| RScheduledExecutorService | ⭐ (2%) | 定時執行器 | schedule(), scheduleAtFixedRate() | 分散式定時任務 | 分散式調度 |
| RMapReduce | ⭐ (<1%) | MapReduce | mapper(), reducer() | 大數據處理 | 分散式計算框架 |
使用頻率總覽
必備級別(>80% 專案使用)
| 物件 | 使用率 | 用途 |
|---|---|---|
| RLock | 95% | 分散式鎖 |
| RMap | 90% | 分散式緩存 |
| RAtomicLong | 85% | 原子計數 |
常用級別(30-80% 專案使用)
| 物件 | 使用率 | 用途 |
|---|---|---|
| RSet | 50% | 分散式集合 |
| RSemaphore | 45% | 限流控制 |
| RTopic | 40% | 發布訂閱 |
偶用級別(10-30% 專案使用)
| 物件 | 使用率 | 用途 |
|---|---|---|
| RList | 30% | 有序列表 |
| RQueue | 25% | 基礎隊列 |
| RBatch | 25% | 批處理 |
| RLongAdder | 20% | 高性能計數 |
| RBlockingQueue | 20% | 阻塞隊列 |
特殊需求場景選擇
| 場景 | 推薦物件 |
|---|---|
| 排行榜 | RScoredSortedSet |
| 任務隊列 | RBlockingQueue |
| 去重檢查 | RBloomFilter |
| 地理位置 | RGeo |