Evo_nginx_boost – a small update
By your request, we have changes the manner of cache deletion used upon the performance of a POST request. For now, we have deleted cache for the entire page that originated the POST. Imagine that we have to handle a very large news archive. Each news item is written to memcache with a validity period of 24h or more. If a new comment was placed under any of those records, the memcache was cleared for all records. This solution may be useful from time to time, but not for a news site with several thousands of records, as the TYPO3 CMS runs needlessly.
A new option is being provided during the installation process of the plug-in, useUrlPrefixClear:
-
if ($this->conf['useUrlPrefixClear'])
-
$this->clearUrlPrefixCache();
-
else
-
$this->clearPageCache($pObj->id);
Setting UlrPrefixClear to “true„ causes memache to be deleted only for pages that originated the POST, e.g.: if we send a POST from
www.mysite.com/mysubpage/article1/
memcache will be deleted for
www.mysite.com/mysubpage/article1/
www.mysite.com/mysubpage/article1/subarticle1
www.mysite.com/mysubpage/article1/subarticle2
www.mysite.com/mysubpage/article1/comment1
www.mysite.com/mysubpage/article1/comment2/single-view
etc
We decided to use this solution, as the case with mm_forum had shown that deleting memcache for a single URL is definitely doing too little. This mechanism is not ideal, but we continue to improve it by working on record tagging for items written in the memcache. Tagging will bring completely new functionality to the entire model, and improve the efficiency of the entire extension.
See also:
How about assigning tags to cache entries, and then clearing cache by tags?
Hi Dan, Thanks for comment.
As I mentioned in the post, we are working on it.
Oh – missed it
BTW, I’m wondering how the performance of clearing cache by tags is on a large cache. I know that DB cache backend is very slow without the index on the tag column, but I haven’t tested memcached yet.
DB cache in backend is very slow becouse structure of cache table is not optimal. We are creating very fast and simple cache table and try to store our tags as integers insetead slow text tags separated by comma so databese operations will be very fast but deleting from memcache can be slower becouse we have to delete pages one by one – key by key.