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()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%)MapReducemapper(), reducer()ビッグデータ処理分散計算フレームワーク

使用頻度サマリー

必須レベル(>80% のプロジェクトで使用)

オブジェクト使用率用途
RLock95%分散ロック
RMap90%分散キャッシュ
RAtomicLong85%アトミックカウント

常用レベル(30-80% のプロジェクトで使用)

オブジェクト使用率用途
RSet50%分散集合
RSemaphore45%レート制限
RTopic40%Pub/Sub

時々使用レベル(10-30% のプロジェクトで使用)

オブジェクト使用率用途
RList30%順序付きリスト
RQueue25%基本キュー
RBatch25%バッチ処理
RLongAdder20%高性能カウント
RBlockingQueue20%ブロッキングキュー

特殊要件シーン選択

シーン推奨オブジェクト
ランキングRScoredSortedSet
タスクキューRBlockingQueue
重複チェックRBloomFilter
地理位置RGeo

関連トピック