[TYPO3-core] RFC: #11265: function getTreeList() doesn't use the caching framework

Rupert Germann rupi at gmx.li
Fri Jun 5 20:13:46 CEST 2009


hi

I'm currently working on the missing part of this patch, mostly located in
class tx_cms_treelistCacheUpdate.
some of the sophisticated functions to flush parts of the cache or even
update the cache liftime are currently missing in the caching framework.
Of course the functionality could be achieved with the existing functions
but that would result in something that reminds me on that old joke "how do
programmers catch an elephant?".
The SQL guys went to africa catched every aninal and sorted out the
non-elephants later :-)

the caching framework lacks of methods for 
1. updating the "expires" time (crdate in our case) in existing entries by
content/tags (function setCacheExpiration())
2. flush by content (using tags for a list of 1000s of numbers seems not to
be such a good idea to me) (function clearCacheWhereUidInTreelist() needs
this)
and while we are on it (not related to this issue)
3. getEntriesCount (used in admin panel)

or should we drop this functionality and use simply flush() for everything
that's not covered by flushByTag()?
currently only the treelist cache would need this functions.

I opt for simply using flush() because I 
a) have no idea yet how to realize the needed functionality in the other
cache backEnds. and
b) I doubt that it has a big effect in realworld scenarios.

what do you think?

greets
rupert


Ingo Renner wrote:

> Rupert Germann wrote:
> 
> Hi Rupi,
> 
>>> It might be possible to use tags to clean the cache...
>>
>> in other words: if you don't want to flush a complete table, tags are the
>> *only* way to clean seperate entries ;-)
> 
> seems so for now... (besides deleting by identifier)
> 
>> But the way how function flushByTags() achieves this currently will bring
>> us into severe memory or performance problems sooner or later.
>> same problem as in:
>> http://bugs.typo3.org/view.php?id=11175
>>
>> for the time being I will use flushByTags() at the missing places, and
>> then I'll take a look to the getByTags(), flushByTags() stuff in caching
>> framework.
> 
> great!
> 
> best
> Ingo
> 



More information about the TYPO3-team-core mailing list