Redisson

Redisson 是 Redis 的 Java 客戶端,提供豐富的分散式資料結構和服務。

資料結構物件

分散式集合(Distributed Collections)

物件名稱使用頻率描述主要方法適用場景特殊功能
RMap⭐⭐⭐⭐⭐ (90%)分散式 HashMapput(), get(), fastPut(), putIfAbsent()分散式緩存、配置管理支援過期時間、批次操作
RSet⭐⭐⭐⭐ (50%)分散式 HashSetadd(), remove(), contains()去重集合、成員管理集合運算(聯集、交集、差集)
RList⭐⭐⭐ (30%)分散式 ArrayListadd(), 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%)批量 Bucketget(), 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%)MapReducemapper(), reducer()大數據處理分散式計算框架

使用頻率總覽

必備級別(>80% 專案使用)

物件使用率用途
RLock95%分散式鎖
RMap90%分散式緩存
RAtomicLong85%原子計數

常用級別(30-80% 專案使用)

物件使用率用途
RSet50%分散式集合
RSemaphore45%限流控制
RTopic40%發布訂閱

偶用級別(10-30% 專案使用)

物件使用率用途
RList30%有序列表
RQueue25%基礎隊列
RBatch25%批處理
RLongAdder20%高性能計數
RBlockingQueue20%阻塞隊列

特殊需求場景選擇

場景推薦物件
排行榜RScoredSortedSet
任務隊列RBlockingQueue
去重檢查RBloomFilter
地理位置RGeo

相關主題