Project

General

Profile

Actions

Feature #19180

closed

Introduce a new caching framework (backported from FLOW3)

Added by Ingo Renner over 15 years ago. Updated over 13 years ago.

Status:
Closed
Priority:
Should have
Assignee:
Category:
-
Target version:
-
Start date:
2008-08-01
Due date:
% Done:

0%

Estimated time:
PHP Version:
5.2
Tags:
Complexity:
Sprint Focus:

Description

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 us 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 coding guidelines
  • we get what we need, but not more
  • additional development on our side can still be ported to FLOW3 if necessary

(issue imported from #M9097)


Files

9097_v2.diff (83.8 KB) 9097_v2.diff Administrator Admin, 2008-08-01 19:53
T3X_user_cachetest-2_0_1-z-200809151017.t3x (7.57 KB) T3X_user_cachetest-2_0_1-z-200809151017.t3x Administrator Admin, 2008-09-15 17:18

Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Feature #19192: Add autoloading to reduce require(_once) callsClosedIngo Renner2008-08-04

Actions
Actions #1

Updated by Ingo Renner over 15 years ago

committed to svn trunk

Actions

Also available in: Atom PDF