Actions
Task #99851
closedCache/ApcuBackend: eliminate double serialization
Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2023-02-06
Due date:
% Done:
100%
Estimated time:
TYPO3 Version:
10
PHP Version:
Tags:
Complexity:
Sprint Focus:
Description
APCu can store arbitrary PHP data; it serializes all values when they are stored, and it has a pluggable serializer interface which can use serializers that are better than serialize(), such as "igbinary" (https://www.php.net/manual/en/book.igbinary.php and https://pecl.php.net/package/igbinary).
By not implementing TransientBackendInterface, the ApcuBackend forces class VariableFrontend to serialize all values into a string, but APCu serializes the string again. This is unnecessary overhead.
This adds TransientBackendInterface and removes the is_string() check. Double serialization is eliminated by this change.
This issue was automatically created from https://github.com/TYPO3/typo3/pull/417
Actions