<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: Кеширование с помощью статических переменных и в моделях CakePHP</title>
	<atom:link href="http://php.southpark.com.ua/2007/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/feed/" rel="self" type="application/rss+xml" />
	<link>http://php.southpark.com.ua/2007/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/</link>
	<description>Хитрости и секреты CakePHP</description>
	<pubDate>Tue, 06 Jan 2009 05:50:58 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Владимир Лучанинов</title>
		<link>http://php.southpark.com.ua/2007/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/comment-page-1/#comment-52</link>
		<dc:creator>Владимир Лучанинов</dc:creator>
		<pubDate>Wed, 31 Oct 2007 19:03:40 +0000</pubDate>
		<guid isPermaLink="false">http://php.southpark.com.ua/2007/10/22/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/#comment-52</guid>
		<description>@KPOTOB: Да, в этом случае согласен. Динамическое - хреново, если рекурсия 4.
Но ведь таких случаев мало. Поэтому я люблю, чтобы за меня думал динамический фреймворк. А потом с профайлером находятся &lt;b&gt;часто вызываемые&lt;/b&gt; узкие места и дорабатываются вручную. Если всего несколько раз в день делается такая сложная операция и она занимает 7 секунд вместо 0.7, то часто можно не обращать на это внимание.</description>
		<content:encoded><![CDATA[<p>@KPOTOB: Да, в этом случае согласен. Динамическое - хреново, если рекурсия 4.<br />
Но ведь таких случаев мало. Поэтому я люблю, чтобы за меня думал динамический фреймворк. А потом с профайлером находятся <b>часто вызываемые</b> узкие места и дорабатываются вручную. Если всего несколько раз в день делается такая сложная операция и она занимает 7 секунд вместо 0.7, то часто можно не обращать на это внимание.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: KPOTOB</title>
		<link>http://php.southpark.com.ua/2007/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/comment-page-1/#comment-49</link>
		<dc:creator>KPOTOB</dc:creator>
		<pubDate>Wed, 31 Oct 2007 12:07:39 +0000</pubDate>
		<guid isPermaLink="false">http://php.southpark.com.ua/2007/10/22/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/#comment-49</guid>
		<description>Добавлю к предыдущиму
Кэш запросов в базе инвалидиться атоматически при записи; 
var $cacheQueries = true в моем случае при вызове findAll с рекурсией 4 (не нужные ассоциации убраны через unbindModel) убали колво запросов с ~2200 до ~250;
Кэш view будет работать быстрее - в общем не сильно позитив, а горя хлебнуть можно прилично при двух кэшах в app</description>
		<content:encoded><![CDATA[<p>Добавлю к предыдущиму<br />
Кэш запросов в базе инвалидиться атоматически при записи;<br />
var $cacheQueries = true в моем случае при вызове findAll с рекурсией 4 (не нужные ассоциации убраны через unbindModel) убали колво запросов с ~2200 до ~250;<br />
Кэш view будет работать быстрее - в общем не сильно позитив, а горя хлебнуть можно прилично при двух кэшах в app</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: KPOTOB</title>
		<link>http://php.southpark.com.ua/2007/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/comment-page-1/#comment-48</link>
		<dc:creator>KPOTOB</dc:creator>
		<pubDate>Wed, 31 Oct 2007 11:55:31 +0000</pubDate>
		<guid isPermaLink="false">http://php.southpark.com.ua/2007/10/22/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/#comment-48</guid>
		<description>@Владимир Лучанинов: в том часе и дело - если источник - какаянибуль жирная таблица разузлования для производства то наверное не плохо - а если чтото динамическое - то хреново</description>
		<content:encoded><![CDATA[<p>@Владимир Лучанинов: в том часе и дело - если источник - какаянибуль жирная таблица разузлования для производства то наверное не плохо - а если чтото динамическое - то хреново</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир Лучанинов</title>
		<link>http://php.southpark.com.ua/2007/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/comment-page-1/#comment-46</link>
		<dc:creator>Владимир Лучанинов</dc:creator>
		<pubDate>Wed, 31 Oct 2007 10:37:37 +0000</pubDate>
		<guid isPermaLink="false">http://php.southpark.com.ua/2007/10/22/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/#comment-46</guid>
		<description>@KPOTOB:
В Cake автоматически перестраивается кеш View, Elements при изменении данных.
Кеш, который делается вручную Cache::write, имеет ограниченный срок жизни (по умолчанию - час).
Это не оно?</description>
		<content:encoded><![CDATA[<p>@KPOTOB:<br />
В Cake автоматически перестраивается кеш View, Elements при изменении данных.<br />
Кеш, который делается вручную Cache::write, имеет ограниченный срок жизни (по умолчанию - час).<br />
Это не оно?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: KPOTOB</title>
		<link>http://php.southpark.com.ua/2007/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/comment-page-1/#comment-45</link>
		<dc:creator>KPOTOB</dc:creator>
		<pubDate>Wed, 31 Oct 2007 09:21:42 +0000</pubDate>
		<guid isPermaLink="false">http://php.southpark.com.ua/2007/10/22/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/#comment-45</guid>
		<description>@Владимир Лучанинов: А как быть с инвалидацией кэша?</description>
		<content:encoded><![CDATA[<p>@Владимир Лучанинов: А как быть с инвалидацией кэша?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир Лучанинов</title>
		<link>http://php.southpark.com.ua/2007/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/comment-page-1/#comment-42</link>
		<dc:creator>Владимир Лучанинов</dc:creator>
		<pubDate>Tue, 30 Oct 2007 19:49:20 +0000</pubDate>
		<guid isPermaLink="false">http://php.southpark.com.ua/2007/10/22/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/#comment-42</guid>
		<description>@KPOTOB:
1. Cake cache хранится в файлах (по умолчанию). Если файлов не миллион, а записей в MySql - миллион, то будет быстрее обратиться к файлу.
2. Кеширование должно быть не только в пределах одной сессии.
&lt;a href="http://api.cakephp.org/1.2/libs_2model_2model_8php-source.html#l00200" rel="nofollow"&gt;Cake API :: AppModel :: $cacheQueries&lt;/a&gt;
00194  * Whether or not to cache queries for this model.  This enables in-memory
00195  * caching only, the &lt;b&gt;results are not stored beyond this execution&lt;/b&gt;.
...
00200     var $cacheQueries = false;
3. Согласен. Так как этот способ кеширования используется в нескольких моделях, то моя реализация ужасна с точки зрения &lt;a href="http://en.wikipedia.org/wiki/DRY" rel="nofollow"&gt;DRY&lt;/a&gt;. Только, наверное, в стиле Cake лучше реализовать это с помощью Behavior, переопределяя метод beforeFind (&#038;$model, $query). Интересная мысль, спасибо. Меня тоже это сильно смущало.</description>
		<content:encoded><![CDATA[<p>@KPOTOB:<br />
1. Cake cache хранится в файлах (по умолчанию). Если файлов не миллион, а записей в MySql - миллион, то будет быстрее обратиться к файлу.<br />
2. Кеширование должно быть не только в пределах одной сессии.<br />
<a href="http://api.cakephp.org/1.2/libs_2model_2model_8php-source.html#l00200">Cake API :: AppModel :: $cacheQueries</a><br />
00194  * Whether or not to cache queries for this model.  This enables in-memory<br />
00195  * caching only, the <b>results are not stored beyond this execution</b>.<br />
&#8230;<br />
00200     var $cacheQueries = false;<br />
3. Согласен. Так как этот способ кеширования используется в нескольких моделях, то моя реализация ужасна с точки зрения <a href="http://en.wikipedia.org/wiki/DRY">DRY</a>. Только, наверное, в стиле Cake лучше реализовать это с помощью Behavior, переопределяя метод beforeFind (&#038;$model, $query). Интересная мысль, спасибо. Меня тоже это сильно смущало.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: KPOTOB</title>
		<link>http://php.southpark.com.ua/2007/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/comment-page-1/#comment-39</link>
		<dc:creator>KPOTOB</dc:creator>
		<pubDate>Tue, 30 Oct 2007 09:19:34 +0000</pubDate>
		<guid isPermaLink="false">http://php.southpark.com.ua/2007/10/22/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/#comment-39</guid>
		<description>IMHO не полное решение:
1. В чем будет разница между http://dev.mysql.com/doc/refman/5.0/en/query-cache.html и помещением Cake cache в таблицу? 
2. Что мешает использовать var $cacheQueries = true; в AppModel?
3. DRY нарушено - если всетаки надо кэшить (к примеру DB сильно далеко, или не DB вовсе а обертка над сервисом), почему не сделать "приватными" методы возможно подлежащие кэшированию и использовать __call в AppModel для реализации кэширования?</description>
		<content:encoded><![CDATA[<p>IMHO не полное решение:<br />
1. В чем будет разница между <a href="http://dev.mysql.com/doc/refman/5.0/en/query-cache.html" rel="nofollow">http://dev.mysql.com/doc/refman/5.0/en/query-cache.html</a> и помещением Cake cache в таблицу?<br />
2. Что мешает использовать var $cacheQueries = true; в AppModel?<br />
3. DRY нарушено - если всетаки надо кэшить (к примеру DB сильно далеко, или не DB вовсе а обертка над сервисом), почему не сделать &#8220;приватными&#8221; методы возможно подлежащие кэшированию и использовать __call в AppModel для реализации кэширования?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Владимир Лучанинов</title>
		<link>http://php.southpark.com.ua/2007/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/comment-page-1/#comment-37</link>
		<dc:creator>Владимир Лучанинов</dc:creator>
		<pubDate>Mon, 29 Oct 2007 19:32:59 +0000</pubDate>
		<guid isPermaLink="false">http://php.southpark.com.ua/2007/10/22/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/#comment-37</guid>
		<description>@Евгений: ну, не знаю. почитал
&lt;a href="http://framework.zend.com/manual/en/zend.cache.html" rel="nofollow"&gt;http://framework.zend.com/manual/en/zend.cache.html&lt;/a&gt;

и не нашёл ничего, чего бы не смог сделать с помощью кейковского Cache. Не то, чтобы Zend_Cache плохой - он действительно более продвинутый, но он в стиле Zend, а не Cake.

Например, в Cake разделено просто кеширование и кеширование View/Element, что позволяет использовать кеш в FrontEnd, даже не думая о настройках. В Zend придётся думать, настраивать. Я предпочитаю о кеше не думать, пусть фреймворки за меня думают. Хотя, наверное, я так говорю, потому что для всех моих проектов с головой хватало одного выделенного сервера; для более масштабных проектов есть смысл в более вдумчивой оптимизации.</description>
		<content:encoded><![CDATA[<p>@Евгений: ну, не знаю. почитал<br />
<a href="http://framework.zend.com/manual/en/zend.cache.html">http://framework.zend.com/manual/en/zend.cache.html</a></p>
<p>и не нашёл ничего, чего бы не смог сделать с помощью кейковского Cache. Не то, чтобы Zend_Cache плохой - он действительно более продвинутый, но он в стиле Zend, а не Cake.</p>
<p>Например, в Cake разделено просто кеширование и кеширование View/Element, что позволяет использовать кеш в FrontEnd, даже не думая о настройках. В Zend придётся думать, настраивать. Я предпочитаю о кеше не думать, пусть фреймворки за меня думают. Хотя, наверное, я так говорю, потому что для всех моих проектов с головой хватало одного выделенного сервера; для более масштабных проектов есть смысл в более вдумчивой оптимизации.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: </title>
		<link>http://php.southpark.com.ua/2007/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/comment-page-1/#comment-36</link>
		<dc:creator></dc:creator>
		<pubDate>Sun, 28 Oct 2007 16:06:42 +0000</pubDate>
		<guid isPermaLink="false">http://php.southpark.com.ua/2007/10/22/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/#comment-36</guid>
		<description>   Zend framework  Cache  Function.
     CakePHP  Zend.
 Zend     .    .

PS:    </description>
		<content:encoded><![CDATA[<p>   Zend framework  Cache  Function.<br />
     CakePHP  Zend.<br />
 Zend     .    .</p>
<p>PS:    </p>
]]></content:encoded>
	</item>
	<item>
		<title>By:  </title>
		<link>http://php.southpark.com.ua/2007/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/comment-page-1/#comment-29</link>
		<dc:creator> </dc:creator>
		<pubDate>Tue, 23 Oct 2007 20:53:37 +0000</pubDate>
		<guid isPermaLink="false">http://php.southpark.com.ua/2007/10/22/keshirovanie-s-pomoshhyu-staticheskix-peremennyx-i-v-modelyax-cakephp/#comment-29</guid>
		<description>@larin:                 &lt;a href="http://ru.wikipedia.org/wiki/" rel="nofollow"&gt;&lt;/a&gt;.  ?

    &lt;a href="http://larin.in/archives/23" rel="nofollow"&gt;memcached&lt;/a&gt;  ;)</description>
		<content:encoded><![CDATA[<p>@larin:                 <a href="http://ru.wikipedia.org/wiki/"></a>.  ?</p>
<p>    <a href="http://larin.in/archives/23">memcached</a>  <img src='http://php.southpark.com.ua/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
