Project

General

Profile

Actions

Task #99851

closed

Cache/ApcuBackend: eliminate double serialization

Added by TYPO3 GmbH TYPO3com almost 2 years ago. Updated 10 months ago.

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

Also available in: Atom PDF