rails/activesupport/lib/active_support/cache
Alejandro Dustet 78b74e9227
Deprecate initialize memcache store with dalli client
Why:
----

Following up on [#47323](https://github.com/rails/rails/issues/47323).
Many options are not forwarded to the Dalli client when it is
initialized from the `ActiveSupport::Cache::MemCacheStore`. This is to
support a broader set of features powered by the implementation. When an
instance of a client is passed on the initializer, it takes precedence,
and we have no control over which attributes will be overridden or
re-processed on the client side; this is by design and should remain as
such to allow both projects to progress independently. Having this
option introduces several potential bugs that are difficult to pinpoint
and get multiplied by which version of the tool is used and how each
evolves. During the conversation on the issue, the `Dalli` client
maintainer supports [deprecating](https://github.com/rails/rails/issues/47323#issuecomment-1424292456)
this option.

How:
----

Removing this implicit dependency will ensure each library can evolve
separately and cements the usage of `Dalli::Client` as an [implementation
detail](https://github.com/rails/rails/issues/21595#issuecomment-139815433)

We can not remove a supported feature overnight, so I propose we add a
deprecation warning for the next minor release(7.2 at this time).

There was a constant on the `Cache` namespace only used to restrict
options passed to the `Dalli::Client` initializer that now lives on the
`MemCacheStore` class.

Co-authored-by: Eileen M. Uchitelle <eileencodes@users.noreply.github.com>
2023-02-28 14:31:23 -05:00
..
strategy Fix Cache::NullStore with local caching for repeated reads 2022-08-02 03:18:35 +03:00
file_store.rb Add initial value support to MemCacheStore #increment and #decrement 2022-05-17 18:32:52 +00:00
mem_cache_store.rb Deprecate initialize memcache store with dalli client 2023-02-28 14:31:23 -05:00
memory_store.rb MemoryStore: preserve entry ttl when incrementing 2022-10-22 12:33:41 +02:00
null_store.rb Refactor local cache to avoid serializing entries repeatedly 2021-07-20 12:59:08 +02:00
redis_cache_store.rb remove redis reconnect attempts 2022-10-06 12:37:06 -07:00