[TYPO3-dev] set_no_cache is bad. What's next?

Martin Kutschker martin.kutschker-n0spam at no5pam-blackbox.net
Mon Apr 2 10:55:46 CEST 2007


Steffen Kamper schrieb:
> "Martin Kutschker" <martin.kutschker-n0spam at no5pam-blackbox.net> schrieb im 
> Newsbeitrag 
> news:mailman.1.1175458083.11183.typo3-dev at lists.netfielders.de...
>> Steffen Kamper schrieb:
>>> "Dmitry Dulepov" <9f4eetb02 at sneakemail.com> schrieb im Newsbeitrag 
>>> news:mailman.1.1175173443.25187.typo3-dev at lists.netfielders.de...
>>>> Hi!
>>>>
>>>> From time to time I see that people try to use $TSFE->set_no_cache() in 
>>>> extensions. You know what happens next: no caching for pages, 
>>>> performance is terrible, web server is not responding, etc. At the same 
>>>> time, sometimes, in really rare cases caching must be disabled. But 
>>>> definitely not this way from extensions.
>>>>
>>>> Should we change this function in some way? Should it explain people 
>>>> that using it is no-good?
>>>>
>>>> Personally I would vote for radical methods like (1) keeping it but 
>>>> emptying or (2) writing commented phrase inside generated FE page that 
>>>> set_no_cache was used, so do not expect good performance.
>>>>
>>>> Any other ideas/opinions?
>>>>
>>>> -- 
>>>> Dmitry Dulepov
>>>>
>>>> Web: http://typo3bloke.net/
>>>> Skype: callto:liels_bugs
>>>>
>>>> "It is our choices, that show what we truly are,
>>>> far more than our abilities." (A.P.W.B.D.)
>>> Ok, here i have a question for a special case, and alos an example, that 
>>> shows the difficults of right caching:
>>>
>>> On a list-view with a form, that filters the records, what is the best 
>>> technique that the search results will be cached ?
>> Store the search result somewhere. Possible locations are the session or a 
>> table. If you use a table you can share the results of popular searches 
>> across sessions.
>>
>> I thought about creating this for the indexed search. and I even thought 
>> about making a framework for other extensions. Maybe this is something for 
>> ECT?
>>
>> Masi
>>
> 
> hi Masi,
> 
> sounds interesting, i'm not sure how this can be handled. Storing search 
> results in a session is quite easy, but how do you present this on pages ?
> Storing search result in tables may be a good idea, but it sounds nearly 
> same like creating cHashes for piVar-combinations.
> 
> Can you give us a deeper thought of this ?

For displaying the search result you need a USER_INT (possibly a 
USER_INT within a USER) so that no cHashes are needed. Cached are only 
the raw data, not the formatted output of the search. I don't think this 
is a big problem as a search result is usually shorted lived.

The point is that you create from the search query (piVars) a key for 
the search result. Whenever the PI has to show a result it will look it 
up in the search cache. In this cache only the ids of the found rows are 
stored (sorted!).

Masi




More information about the TYPO3-dev mailing list