Problem/Motivation

The redis cache backend has built-in cache compression as well.

Out of a gut feeling, I implemented it with a length check that also serves as a feature flag. Only strings above a certain length are compressed, the documented example is 100 characters.

I haven't really done any profiling on it and there aren't many caches that are actually shorter than 100 characters but a few select ones are, such as last write timestamps of ChainedFast (redis actually optimizes those now, so they don't run through a regular cache get).

Steps to reproduce

Proposed resolution

Consider a length setting, do some profiling?

Remaining tasks

User interface changes

API changes

Data model changes

Comments

berdir created an issue. See original summary.

berdir’s picture

Did a lot of testing in #3014514: Make igbinary the default serializer if available, it saves 50% time on unserialize and memory footprint, feel free to use that data to improve the project page here to sell igbinary better (clear that compact strings should be used, massive cache size improvements especially combined with compression with is compariable in speed to plain unserialize.

Or alternatively, help making this module unnecessary by getting an igbinary serializer into core.

grimreaper’s picture

Assigned: Unassigned » grimreaper

Thanks,

I am ok to introduce a setting or even better if core support it directly.

Assigning the issue to not forget to update the project page.

grimreaper’s picture

Assigned: grimreaper » Unassigned

Link to core issue added on project page.