[TYPO3-core] RFC: #9097: Introduce a new caching framework (backported from FLOW3)

Ingo Renner ingo at typo3.org
Fri Aug 1 13:14:30 CEST 2008


Hi all,

this is a SVN patch request.

Branches: trunk only

Type: feature

BT reference: http://bugs.typo3.org/view.php?id=9097

Problem:
Caching is a way to speed up rendering of pages as results of expensive 
operations get stored and reused the next time the expensive operation 
should be run.
Currently the TYPO3 core uses different caches with different 
implementations which is not optimal in regard to maintainance.

Solution:
FLOW3 offers a well designed caching framework that is easily extendable 
to store the cache data in different ways. The framework is also easy to 
use and through the use of design patterns easy to understand and 
maintain. Thus the caching framework has been backported to fit the 
TYPO3 4.x environment.

Notes:
When this cache is shipped with the core, all existing caches can be 
changed to the new system. This can give us additional flexibility so 
that you could one day store the page cache in the DB, the other day use 
the file system and next week store the pages in memcached.

There is an extension attached so that testing is easy and you can get 
an idea on how to use the system (which is quite easy). (don't judge the 
extension's code though)

The API is not complete however, as f.e. a method $cache->findByTag() is 
not available yet. I'm going to provide these missing bits and another 
storage backend in an upcoming commit.

Why not putting the unmodified FLOW3 classes into typo3/contrib/ ?
* I tried that as it first looked like it would/could work
* when starting to do so it turned out that we would need more classes 
then wanted and that there were depencies that would require to include 
a long tail of other classes

Benefits of using the backported FLOW3 classes:
* we (at least) use the same concepts as FLOW3
* we already have the same (identical) naming as in FLOW3 (so migration 
to FLOW3 is a matter of search and replace)
* the classes fit 4.x codeing guidelines
* we get what we need, but not more
* additional development on our side can still be ported to FLOW3 if 
necessary


Ingo

-- 
Ingo Renner
TYPO3 Core Developer, Release Manager TYPO3 4.2

-------------- next part --------------
A non-text attachment was scrubbed...
Name: T3X_user_cachetest-1_0_0-z-200808011256.t3x
Type: application/octet-stream
Size: 7505 bytes
Desc: not available
Url : http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20080801/0f65214d/attachment-0001.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 9097_v1.diff
Type: text/x-diff
Size: 73630 bytes
Desc: not available
Url : http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20080801/0f65214d/attachment-0001.diff 


More information about the TYPO3-team-core mailing list