如果引发异常,Rails会缓存任何内容吗?

mal*_*ers 3 caching ruby-on-rails

我想知道在以下情况下rails是否缓存任何内容:

  Rails.cache.fetch("some_key", expires_in: 1.day) do
    service.call # raises exception
    []
  end
Run Code Online (Sandbox Code Playgroud)

我担心,因为如果Rails.cache.fetch块内的请求失败,我想重试下一个请求。不要让用户等待24HRS重试。

Joã*_*uza 5

,如果有异常凸起导轨不缓存任何东西。

Rails Guides说,该块的返回值将被写入缓存。

当一个块引发异常时,它不会返回任何内容,因此不会缓存任何内容。