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() | Pub/Sub、イベント通知 | 1対多ブロードキャスト |
| 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% | Pub/Sub |
時々使用レベル(10-30% のプロジェクトで使用)
| オブジェクト | 使用率 | 用途 |
|---|---|---|
| RList | 30% | 順序付きリスト |
| RQueue | 25% | 基本キュー |
| RBatch | 25% | バッチ処理 |
| RLongAdder | 20% | 高性能カウント |
| RBlockingQueue | 20% | ブロッキングキュー |
特殊要件シーン選択
| シーン | 推奨オブジェクト |
|---|---|
| ランキング | RScoredSortedSet |
| タスクキュー | RBlockingQueue |
| 重複チェック | RBloomFilter |
| 地理位置 | RGeo |