Rails.cache.fetch の :race_condition_ttl オプションは、私が望むものに本当に近いようです: http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html#method-i-fetch
ただし、期限切れの値に遭遇した最初のリクエストはまだブロックされているようです (それ以降は、古い値を取得し、キャッシュの更新中にすぐに返される後続のリクエストのみです)。
最初の期限切れのリクエストを同じように処理しないことに驚いたと思います。これに共通のパターンがあるのか 、それともカスタムにする必要があるのか 疑問に思っていました.