『Redis 深掘り』で活用範囲を最大化
Redis は単なるキャッシュを超えて、Streams・Sentinel・Module で多彩な用途に対応します。本記事では編集部の視点で、深掘りした活用を公開情報をもとに整理します。Redis 実践 もご参考に。
Redis Streams
(1) Kafka 風の追記ログ。(2) Consumer Groups:並列消費。(3) XADD/XREAD/XGROUP。(4) 永続化:AOF/RDB。(5) 軽量な代替(Kafka より導入容易)。キューシステム設計 もご参考に。
Sentinel
(1) 高可用性:自動 failover。(2) monitoring + failover + notification。(3) 3ノード以上推奨。(4) クライアント側対応必要。(5) Cluster との使い分け。
Redis Cluster
(1) シャーディング:16384 slot。(2) 水平スケール。(3) cluster-aware ライブラリ必須。(4) マルチキー操作の制限。(5) 大規模本番運用。Valkey/Cluster もご参考に。
主要な Module
(1) RedisJSON:JSON ストレージ。(2) RediSearch:全文検索。(3) RedisTimeSeries:時系列。(4) RedisGraph:グラフ。(5) RedisBloom:確率的データ構造。
ベクトル検索 (RediSearch)
(1) HNSW インデックス。(2) L2/IP/COSINE距離。(3) ハイブリッド検索:text + vector。(4) Pinecone 等の代替。(5) 低レイテンシ。LangChain+RAG もご参考に。
パフォーマンスチューニング
(1) maxmemory + policy。(2) persistence 選択:RDB/AOF。(3) I/O threads:6.0+。(4) connection pool。(5) 監視:Redis INFO。Observability 実践 もご参考に。
セキュリティ
(1) ACL:ユーザー権限。(2) TLS:通信暗号化。(3) password必須。(4) VPC 制限。(5) 監査ログ。
失敗しがちなパターン
(1) memory 枯渇でデータ消失。(2) KEYS * 本番実行:全停止。(3) persistence 設計誤り。(4) Sentinel/Cluster 混在。(5) 監視不足。対策は、(1)maxmemory + policy、(2)SCAN使用、(3)用途別、(4)1つ選択、(5)INFO 監視、です。