Freezable Cache Backend
Certain caches are static once they've been filled with data. One example is the classes cache in FLOW3 – after all proxy classes have been compiled, the cache must never be touched again in Production context.
Especially in the mentioned case, a cache backend could work with greatly improved performance if it knew that no changes are to be expected. It could create an index of existing cache entries which is loaded upfront. Existing cache entries could then be loaded right away without the need to check for expiry times or existence.
[FEATURE] Freezable Cache Backend
This introduces a new type of cache backends which supports freezing.
In a frozen state no modifications are allowed and thus enables the
cache implementation to optimize its tasks for speed.
The FileBackend was extended to support freezing and is now used for
the class cache in Production context. Measured on the blog example,
this change improved number of transactions per second by 29 %.