For those using Dalli as cache store in Rails, this config should appear somewhat familiar:
config.cache_store = :dalli_cache, nil, { expires_in: 1.hour }
In the above code snippet, we passed nil
for the addresses
argument.
But if we were to migrate to :mem_cache_store
with the same config like below:
config.cache_store = :mem_cache_store, nil, { expires_in: 1.hour }
then the value of addresses
would be [nil]
instead of nil
causing an exception when trying to access the cache.
> Rails.cache.fetch('user_id')
NoMethodError: undefined method `match' for nil:NilClass
Rails 7
This PR
adds support for passing an explicit nil
to mem_cache_store
.
This change makes migrating from :dalli_store
to :mem_cache_store
easier.
After this change, below config:
config.cache_store = :mem_cache_store, nil
would be equivalent to
config.cache_store = :mem_cache_store # implicit nil for addresses