概要 たまたま使う機会があって調べたのでRedisのトランザクションをRubyのredisGemから扱う方法をまとめます。通常RubyからRedisを使うケースはSidekiqのようなGemやRailsのRedisキャッシュストア, ActionCable経由で使うことがほとんで、直接Redisを意識して使うケースは希かも知れません。 TL;DR RedisコマンドのMULTI, EXECで複数のコマンドをアトミックに実行できます。 アトミックとはいえロールバックされません。コーディングミスによる誤った操作で部分的にコマンドが実行されることはあり得ます。 さらにRedisコマンドのWATCHを使うと楽観ロックによる排他制御が行えます。 Redisのトランザクションについての詳細についてはRedisのドキュメントを参照されることをおすすめします。 Transactions – Redis 前

