Important: #80246 - MemcachedBackend marked transient

See forge#80246

Description

The memcached cache backend has been marked transient. This has the following effect:

  • The backend now supports non-string values (Memcached serializes and compresses data internally, configured in php.ini) An Exception is no longer raised if a custom cache frontend attempts to store non-strings in a Memcached backend.

  • Unnecessary serialization and unserialization is prevented, slightly improving performance.

There is a single side effect: when used with a VariableFrontend and attempting to store data whose serialized and compressed representation exceeds the Memcached limit (~1MB), the cache operation fails silently and logs a warning. The system keeps operating as normal and will log such failures every time it happens.

The side effect only applies to VariableFrontend and only when passing non-string values. When you pass a string bigger than ~1MB the backend performs chunk-split exactly as before, regardless if string was passed through a VariableFrontend.