[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