2023年2月20日のブックマーク (1件)

  • RedisのPipeline, Multi, Watchの区別 - Carpe Diem

    概要 RedisのPipeline, Multi, Watchの区別をする上であまりシーケンス図を用いた説明がなかったので図示してみました。 解説 Pipeline 課題 通常複数の処理を実行しようとすると以下のような流れになります。 シンプルではありますが都度サーバ通信が入るところに無駄があります。 解決策としてのPipeline パイプライン処理は複数の処理を1つにまとめてRTT(Round Trip Time)を改善します。 先程3回サーバ通信が必要でしたが、Pipelineを用いることで1回で済むようになっています。 Multi 課題 先程のPipelineは複数の処理をバッチ化できるというメリットがありましたが、途中で他のクライアントからの処理が割り込む可能性もあります。 上図ではまだGETなので大丈夫ですが、途中割り込んでしまうとデータ整合性が壊れてしまうケースももちろんありま

    RedisのPipeline, Multi, Watchの区別 - Carpe Diem
    tippy3
    tippy3 2023/02/20