[TYPO3-mvc] blog_example - caching issues?

Martin Ficzel martin.ficzel at gmx.de
Fri May 22 10:01:18 CEST 2009


Dan Osipov schrieb:
> I think smart tagging of pages is the best solution. That way only the
> needed cache is cleared.
> 
> Is it up to the developer to decide how to tag pages, or should there be
> some internal method?
> For example, if blog_example renders blog with UID 56, it should tag the
> page tx_blogexample_blog_56 - or something like it?
> 

I do also think that during rendering every cache-entry should be tagged
with all affected record-ids. That would enable the system to flush all
affected caches when a record is changed (TCE-Main can do that). As an
example the flushing of cache entries where a tt_news record is shown or
a menu shows the title of page will work very easy. Ts-Config
TCEMAIN.clearCacheCmd would become obsolete (it never was a smart solution).

Problem: if you use something like foldout menus and change a page on
first or second level many page caches will be flushed.

Additionally extension developers would need an api to set such cache
tags for USER-plugings from inside the extension because the core would
tag the cache-entry only with tt_content_xxx.

The second problem is clearing the cache when new records are created
(like tt_news). Maybe a smart tag based solution can be found too so an
extension author can configure to clear the cache when new records of
type xxx are createt in pid 1,2,3.

Maybe the tags could look like this:
- page_123_new_tx_blogexample_blog :: flush if new blog on uid 123
- page_123_new_record :: flush if any new record on pid 123
- new_tx_blogexample_blog :: flush if any new blog
- tx_blogexample_blog_123 :: flush if blog 123 is edited

I know that will end up having an enormouns amount of cache tage but i
hope it will be simple an flexible at the same time. Maybe some of you
can say weather or not the caching system can handle so many tags.

Regards, Martin




More information about the TYPO3-project-typo3v4mvc mailing list