Project

General

Profile

Actions

Bug #80246

closed

MemcachedBackend is a Transient backend

Added by Claus Due about 7 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2017-03-12
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
8
PHP Version:
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

The Memcached cache backend in TYPO3 is a transient backend, meaning it is capable of storing values which are not strings. By implementing TransientBackendInterface it is communicated to VariableFrontend that the backend can receive and return object instances and other non-string values. This in turn improves performance and delegates the serialization to memcached's selected serializer (defined in php.ini settings). This also means that chunk-splitting will not happen when a non-string value is passed to the cache backend.

Drawbacks:

Since serialization is no longer done automatically, passing an object which when serialized and compressed exceeds the maximum bucket size for memcached. The result is that caching the entry fails, a log message gets recorded, and subsequent get/has returns FALSE for the ID.

It is extremely unlikely that any serialized and compressed objects exceed this limit.

Actions

Also available in: Atom PDF