メインコンテンツまでスキップ

Redis.

07 — Redis に関する記事

01

L1・L2 二段キャッシュの設計

L1(ローカル)キャッシュと L2(Redis)キャッシュによる階層アーキテクチャを紹介。アクセスの流れ、二段のキャッシュがそれぞれ解決する問題、整合性と容量制御、そして代表的なキャッシュ更新戦略について。

02

Redis 分散ロック

ローカルロックから分散ロックへ: Redis のアトミックなコマンドでロック取得と安全な解放を実装し、ロックの有効期限、WatchDog による延長、マスター/スレーブ切り替え時の一貫性リスク、そして etcd/ZooKeeper とのトレードオフを考えます。

03

Redis のスレッドモデル

Redis はよく「シングルスレッド」と言われますが、この言い方は半分しか正しくありません。イベントループ、IO 多重化から Redis 6 の IO マルチスレッドまで、Redis の高性能の源泉とシングルスレッドモデルにおける使用上の注意点を整理します。

04

Redis でよく使う UI ツール

Redis のコマンドラインでのデータ確認は直観的とは言えません。よく使う Redis の GUI クライアント——RDM、AnotherRedisDesktopManager、QuickRedis——を記録し、選び方のアドバイスと注意点も添えます。

05

Redis キャッシュのペネトレーション、ブレイクダウン、アバランチ

キャッシュペネトレーション、ブレイクダウン、アバランチは Redis キャッシュで最もよくある三種類の問題です。それぞれの原因と違いを明確にし、対応策——ブルームフィルター、空オブジェクトのキャッシュ、ミューテックスロック、有効期限の分散、二層キャッシュ——を整理します。

06

Redis キャッシュ整合性

Redis キャッシュとデータベースの不整合が起きる原因を整理し、キャッシュ直接書き込み、単純削除、遅延二重削除といった方式の高並行環境下での挙動とトレードオフを比較します。

07

Redis レプリケーション・Sentinel・Cluster の構築

Redis のレプリケーション(主従)・Sentinel・Cluster という 3 つのモードの構築手順と設定ポイントを記録し、各モードのメリット・デメリット、およびデータ偏り(データスキュー)問題の原因と対策を分析します。