<?xml-stylesheet type="text/xsl" href="http://deepmemo.com/forrest/weblog/rss/rssstyles.xsl"?>
<rss version='2.0'   xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <channel xml:base='http://deepmemo.com/forrest/weblog/'>
        <title><![CDATA[forrest : Блог]]></title>
        <description><![CDATA[Блог forrest, на Deepmemo.]]></description>
        <generator>Elgg</generator>
        <link>http://deepmemo.com/forrest/weblog/</link>        
        <item>
            <title><![CDATA[Эволюция Web X.X / Юмор на Хабрахабре / Хабрахабр]]></title>
            <link>http://deepmemo.com/forrest/weblog/99867.html</link>
            <guid isPermaLink="true">http://deepmemo.com/forrest/weblog/99867.html</guid>
            <pubDate>Thu, 28 Aug 2008 10:50:41 GMT</pubDate>
		<dc:subject><![CDATA[юмор]]></dc:subject>
		<dc:subject><![CDATA[web 2.0]]></dc:subject>
            <description><![CDATA[WEB 0.0 — юзер мечтает законнектиться с кем или чем либо<br />
WEB 1.0 — юзер получает контент<br />
WEB 2.0 — юзер создаёт контент<br />
WEB 3.0 — коллективное создание контента<br />
WEB 4.0 — контент думает за юзера<br />
WEB 5.0 — контент общается с контентом<br />
WEB 6.66- контент удаляет юзеров, поняв что они бессмысленны]]></description>
        </item>
                
        <item>
            <title><![CDATA[Сравнительный тест систем кэширования для PHP / PHP / Хабрахабр]]></title>
            <link>http://deepmemo.com/forrest/weblog/98945.html</link>
            <guid isPermaLink="true">http://deepmemo.com/forrest/weblog/98945.html</guid>
            <pubDate>Wed, 27 Aug 2008 14:19:44 GMT</pubDate>
		<dc:subject><![CDATA[кеширование]]></dc:subject>
		<dc:subject><![CDATA[php]]></dc:subject>
            <description><![CDATA[Вот ссылке по теме:<br />
· <a href="http://www.mysqlperformanceblog.com/2006/08/09/cache-performance-comparison/">Cache Performance Comparison</a><br />
· <a href="http://itst.net/654-php-on-fire-three-opcode-caches-compared">PHP on Fire: Five Opcode Caches compared</a><br />
· <a href="http://www.ipersec.com/index.php/2006/05/30/benchmarking-php-accelerators/">Benchmarking PHP accelerators</a><br />
· <a href="http://www.ducea.com/2006/10/30/php-accelerators/">PHP Accelerators</a><br />
· <a href="http://2bits.com/articles/php-op-code-caches-accelerators-a-must-for-a-large-site.html">PHP op-code caches and accelerators</a><br />
· <a href="http://2bits.com/articles/benchmarking-apc-vs-eaccelerator-using-drupal.html">Benchmarking apc vs eaccelerator using drupal</a><br />
<br />
По сути всё очень просто:<br />
· на shared hosting серверах (где на 1м сервере много клиентов) — ничего использовать не получится (да и нужно ли..?)<br />
· если у вас 1 веб сервер (и вы уверенны что так оно ещё хоть сколько-то будет) — нужно использовать кэши данных PHP аккселераторов (APC, eAccelerator, Xcache, Zend). при этом не париться с выбором, а использовать тот что у вас уже стоит/используестя для кэширования компилированного PHP кода…<br />
· если у вас &gt; 1 веб сервера (или скоро станет) — ваш выбор memcached. при этом если есть какие-то данные которые не нужно разделять между всеми — то есть они могут независимо и локально жить на каждом веб сервере — такое можно отдельно держать в кэш]]></description>
        </item>
                
        <item>
            <title><![CDATA[Статья: &quot;Сравнительный тест систем кэширования пользовательских данных для PHP.&quot;]]></title>
            <link>http://deepmemo.com/forrest/weblog/98942.html</link>
            <guid isPermaLink="true">http://deepmemo.com/forrest/weblog/98942.html</guid>
            <pubDate>Wed, 27 Aug 2008 14:17:32 GMT</pubDate>
		<dc:subject><![CDATA[memcache]]></dc:subject>
		<dc:subject><![CDATA[кеширование]]></dc:subject>
		<dc:subject><![CDATA[оптимизация]]></dc:subject>
		<dc:subject><![CDATA[php]]></dc:subject>
            <description><![CDATA[&lt;div class=&quot;textheader_h1&quot;&gt;Сравнительный тест систем кэширования пользовательских данных для PHP.&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;Роман Чернышов (&lt;a href=&quot;mailto:rxl@mail.ru&quot;&gt;rxl@mail.ru&lt;/a&gt;)&lt;br /&gt;
15.08.2008&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div class=&quot;textheader_h2&quot;&gt;Содержание.&lt;/div&gt;
&lt;br /&gt;
&lt;ul style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;
&lt;li&gt;&lt;a href=&quot;<a href="http://club.shelek.ru/viewart.php?id=300#post_p1">http://club.shelek.ru/viewart.php?id=300#post_p1</a>&quot;&gt;Введение.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;<a href="http://club.shelek.ru/viewart.php?id=300#post_p2">http://club.shelek.ru/viewart.php?id=300#post_p2</a>&quot;&gt;Краткий обзор.&lt;/a&gt;&lt;br /&gt;
&lt;ul style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;
&lt;li&gt;&lt;a href=&quot;<a href="http://club.shelek.ru/viewart.php?id=300#post_p2_1">http://club.shelek.ru/viewart.php?id=300#post_p2_1</a>&quot;&gt;eAccelerator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;<a href="http://club.shelek.ru/viewart.php?id=300#post_p2_2">http://club.shelek.ru/viewart.php?id=300#post_p2_2</a>&quot;&gt;APC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;<a href="http://club.shelek.ru/viewart.php?id=300#post_p2_3">http://club.shelek.ru/viewart.php?id=300#post_p2_3</a>&quot;&gt;XCache&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;<a href="http://club.shelek.ru/viewart.php?id=300#post_p2_4">http://club.shelek.ru/viewart.php?id=300#post_p2_4</a>&quot;&gt;Memcache&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;<a href="http://club.shelek.ru/viewart.php?id=300#post_p3">http://club.shelek.ru/viewart.php?id=300#post_p3</a>&quot;&gt;Подготовка к тестам.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;<a href="http://club.shelek.ru/viewart.php?id=300#post_p4">http://club.shelek.ru/viewart.php?id=300#post_p4</a>&quot;&gt;Тесты.&lt;/a&gt;&lt;br /&gt;
&lt;ul style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;
&lt;li&gt;&lt;a href=&quot;<a href="http://club.shelek.ru/viewart.php?id=300#post_p4_1">http://club.shelek.ru/viewart.php?id=300#post_p4_1</a>&quot;&gt;Тест первый. Зверский.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;<a href="http://club.shelek.ru/viewart.php?id=300#post_p4_2">http://club.shelek.ru/viewart.php?id=300#post_p4_2</a>&quot;&gt;Тест второй. Многократное чтение.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;<a href="http://club.shelek.ru/viewart.php?id=300#post_p4_3">http://club.shelek.ru/viewart.php?id=300#post_p4_3</a>&quot;&gt;Тест третий. В погоне за реальностью.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;<a href="http://club.shelek.ru/viewart.php?id=300#post_p5">http://club.shelek.ru/viewart.php?id=300#post_p5</a>&quot;&gt;Заключение.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;/span&gt;
&lt;div class=&quot;textheader_h2&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Введение.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Началось все с того, что захотелось уменьшить время отклика страниц. Не разбираясь особо, я поставил на наш &lt;a href=&quot;<a href="http://club.shelek.ru/">http://club.shelek.ru/</a>&quot; target=&quot;_blank&quot;&gt;клубный сервер&lt;/a&gt; eAccelerator. Он умеет кэшировать скомпилированные в байт-код php-файлы, имеет оптимизатор кода и позволяет кэшировать пользовательские данные и данные сессий. Время отклика снизилось на разных сайтах в 2-10 раз, в зависимости от внутренней логики движков: которые по проще - страницы просто вылетают, которые по мудренее - немного по быстрее стали работать.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Потом в голове возник вопрос: а правильный ли выбор я сделал. Стал искать сравнительные тесты в интернете и ничего стоящего не нашел. Даже странно стало: оптимизаторы php существуют не первый год, а сравнений никто не производил. Даже если кто их и делал, то в поисковых системах они погребены под горами мусора.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Рассмотрев список бесплатно доступных систем, составил следующий список: eAccelerator, APC, XCache и Memcache.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Первые три умеют кэшировать скомпилированные php-файлы, eAccelerator и APC имеют оптимизаторы кода, Memcache же является отдельным кэширующим сервером и к php имеет отношение только тем, что для работы с ним существует php-модуль.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;
&lt;span id=&quot;post_p2&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div class=&quot;textheader_h2&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Краткий обзор.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;
&lt;span id=&quot;post_p2_1&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div class=&quot;textheader_h3&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;eAccelerator&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;
&lt;a href=&quot;<a href="http://bart.eaccelerator.net/doc/phpdoc/">http://bart.eaccelerator.net/doc/phpdoc/</a>&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;<a href="http://bart.eaccelerator.net/doc/phpdoc/">http://bart.eaccelerator.net/doc/phpdoc/</a>&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;По API больше понравился eAccelerator. API простое - только самое нужное, но есть и такие возможности, которых нет у других - функции блокировки ключа. Документация неудобная, но информация понятна и есть толковые примеры. Он также лучше и удобнее в настройках. Позволяет отдельно управлять хранением ключей, сессий и данных (скомпилированного кода и пользовательских данных). Методы хранения: только в разделяемой памяти, в памяти и на диске одновременно, в памяти с вытеснением на диск и только на диске. Легко и прозрачно можно отделить ключи каждого виртуального сервера в системе, чтобы не было лишних дырок в безопасности и пересечения ключей, установкой уникального значения параметра &lt;tt&gt;eaccelerator.name_space&lt;/tt&gt; для каждого виртуального сервера. Переписал код club.shelek.ru на работу с кэшом: среднее время генерации страницы всего 4-5 мс против 90-120 без кэша. Против ожидания, что нагрузка на процессор и память возрастет, наблюдаю наоборот - снижение за счет меньшей нагрузки на базу данных. Посмотрим, как он покажет себя при длительной эксплуатации.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;
&lt;span id=&quot;post_p2_2&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div class=&quot;textheader_h3&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;APC&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;
&lt;a href=&quot;<a href="http://www.php.net/apc">http://www.php.net/apc</a>&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;<a href="http://www.php.net/apc">http://www.php.net/apc</a>&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;APC очень обилен в настройках. Пока я предпочел не крутить настройки и пользоваться значениями по умолчанию. API очень маленькое. Интересная фича - сохранение массива и восстановление его как набора констант. Редкая по нужности фича.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;
&lt;span id=&quot;post_p2_3&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div class=&quot;textheader_h3&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;XCache&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;
&lt;a href=&quot;<a href="http://xcache.lighttpd.net/wiki/XcacheApi">http://xcache.lighttpd.net/wiki/XcacheApi</a>&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;<a href="http://xcache.lighttpd.net/wiki/XcacheApi">http://xcache.lighttpd.net/wiki/XcacheApi</a>&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;После eAccelrator и APC, XCache ничем хорошим не удивил. Отвратительная документация по API без единого комментария (я назвал ее - &quot;черный квадрат&quot;), хотя для базовых функций даны примеры и то хорошо. API простое. Из особенностей - возможность выполнять инкремент и декремент числового значения в кэше и функция проверки наличия ключа в кэше без пересылки самого значения. Настроек довольно мало. Удивило то, что кэширование, по умолчанию, разрешено, но размер используемой памяти и максимальные размеры пользовательских объектов равны нолю, что по документации означает - &quot;запрещено&quot;.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;
&lt;span id=&quot;post_p2_4&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div class=&quot;textheader_h3&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Memcache&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;
&lt;a href=&quot;<a href="http://www.php.net/memcache">http://www.php.net/memcache</a>&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;<a href="http://www.php.net/memcache">http://www.php.net/memcache</a>&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Memcache минималистичен в настройках, так как настройки управления кэшированием находятся на стороне сервера memcached. API у него посложнее, чем у первых трех систем, и поддерживает работу в процедурном и ООП способах. Из особенностей: помимо функции установки значения по ключу, есть возможность добавить ключ, только если его еще нет, и перезаписать, только если он уже есть. Может иметь несколько кэширующих серверов: как на том же хосте, так и на других. Как я понял, суть Memcache в использовании ресурсов других хостов. По моему мнению, это несколько устарело: если ресурсов одного хоста не хватает, то лучше найти другой способ распределить нагрузку, чем коммуникация по TCP с кэширующими серверами на других хостах, что вносит существенную задержку. Тем не менее, Memcache в сети упоминается часто, из чего делаю вывод о его популярности и включаю в список тестируемых систем.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;
&lt;span id=&quot;post_p3&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div class=&quot;textheader_h2&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Подготовка к тестам.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Тестировать все это на живом сервере я не рискнул и использовал виртуальную машину. Все программы, которые могли вызвать неожиданную нагрузку на систему и повлиять на результаты замеров, были остановлены.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Условия тестов:&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;ul style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;
&lt;li&gt;&lt;span id=&quot;post_p1&quot;&gt;Хост система: одноядерный P4 2800 ГГц, 1.5 ГБ памяти DDR-400, Windows XP Professional SP2, VMware Workstation 5.5.1.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span id=&quot;post_p1&quot;&gt;Виртуальная система: 512 МБ, Linux CentOS 5.1, Apache 2.2.3, PHP 5.1.6, gcc 4.1.2.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Тестируемые программы были собраны на это виртуальном хосте с дополнительным ключом компиляции &lt;tt&gt;-O3&lt;/tt&gt;. Для компиляции потребовалось скомпилировать и установить программу re2c версии 0.13.5.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Версии программ:&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;ul style=&quot;margin-top: 0pt; margin-bottom: 0pt;&quot;&gt;
&lt;li&gt;&lt;span id=&quot;post_p1&quot;&gt;eAccelerator - 0.9.5.3&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span id=&quot;post_p1&quot;&gt;APC - 3.0.19&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span id=&quot;post_p1&quot;&gt;XCache - 1.2.2&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span id=&quot;post_p1&quot;&gt;Memcache - 3.0.1&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span id=&quot;post_p1&quot;&gt;Memcached - 1.2.6&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Всем кэш-системам было выделено по 64 МБ разделяемой памяти. Оптимизация кода была включена.&amp;nbsp; &amp;nbsp;Перед каждым тестом каждой системы исправлялся конфиг php.ini, чтобы загружалась только тестируемая система, и выполнялся рестарт демона httpd.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Лимит времени работы скрипта был убран, память выделяемая процессу - 200МБ (сперва было 16, но об этом чуть позже). Время измерялось php-функцией &lt;tt&gt;microtime(true)&lt;/tt&gt; - с точностью до микросекунд.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Работу с кэш-системами обеспечивал несколькими днями ранее написанный класс.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;codeheader&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;Код: (php)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;code&quot;&gt;&lt;span id=&quot;post_p1&quot;&gt;&lt;/span&gt;
&lt;pre style=&quot;margin-top: 0pt; display: inline;&quot; class=&quot;code_pre&quot;&gt;
&lt;span id=&quot;post_p1&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 187);&quot;&gt;&lt;?php&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 128, 0); &quot;&gt;// (c) 2008 Veselchak U&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;class &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;Cache&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;{&lt;br&gt;    var &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$_cache_type &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'auto'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 128, 0); &quot;&gt;// дефолтное значение&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$_memcache &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;br&gt;    function &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;__constructor&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$options &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;)&lt;br&gt;    {&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;Cache&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$options&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;);&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    function &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;Cache&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$options &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;)&lt;br&gt;    {&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 128, 0); &quot;&gt;// Проверка поддержки кеш-систем&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;   &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$cache_systems &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= array();&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt; if (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;function_exists&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'eaccelerator_get'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;))&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$cache_systems&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[] = &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'eaccelerator'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        if (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;function_exists&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'apc_fetch'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;))&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$cache_systems&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[] = &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'apc'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt; if (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;function_exists&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'xcache_get'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;))&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;     &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$cache_systems&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[] = &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'xcache'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      if (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;class_exists&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'Memcache'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;))&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;          &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$cache_systems&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[] = &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'memcache'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$required_cache &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= isset(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$options&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'cache'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;]) ? &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$options&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'cache'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;] : &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_cache_type&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       if (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;count&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$cache_systems&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;) &amp;&amp; &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$required_cache &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;!= &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'none'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;)&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        {&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;           if (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$required_cache &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;== &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'auto'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;)&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;   &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_cache_type &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;array_shift&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$cache_systems&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;); &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 128, 0); &quot;&gt;// первое значение в списке&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;           else if (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;in_array&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$required_cache&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$cache_systems&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;))&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_cache_type &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$required_cache&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;          else&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_cache_type &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'none'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       }&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       else&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_cache_type &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'none'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;   if (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_cache_type &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;== &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'memcache'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;)&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt; {&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;           &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$failed &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       if (isset(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$options&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'memcache'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;]) &amp;&amp; &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;is_array&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$options&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'memcache'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;]))&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;           {&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_memcache &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= new &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;Memcache&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    foreach (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$options&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'memcache'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;] as &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;)&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    {&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        if (!&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;is_array&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;) || !isset(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'host'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;])) &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 128, 0); &quot;&gt;// host должен быть указан&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;     &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    continue;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;   &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'port'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;] = isset(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'port'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;]) ? (int) &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'port'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;] : &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;ini_get&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'memcache.default_port'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;);&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'persistent'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;] = isset(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'persistent'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;]) ? (bool) &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'persistent'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;] : &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        if (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_memcache&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;addServer&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'host'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'port'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$server&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'persistent'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;]))&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$failed &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    }&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;   &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    if (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$failed&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;)&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_memcache &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       }&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       if (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$failed&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;)&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_cache_type &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'none'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       }&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    function &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$key&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;)&lt;br&gt;    {&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$data &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;null&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;     switch (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_cache_type&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;)&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;     {&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;           case &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'none'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;:&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    break;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      case &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'eaccelerator'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;:&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$data &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;eaccelerator_get&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$key&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;);&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    break;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      case &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'apc'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;:&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$data &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;apc_fetch&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$key&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;);&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    break;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      case &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'xcache'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;:&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;     &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$data &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;xcache_get&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$key&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;);&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;     &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    break;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      case &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'memcache'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;:&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;   &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$data &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_memcache&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$key&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;);&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    break;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;  }&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;   return &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;;&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    function &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;put&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$key&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &amp;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$ttl&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;)&lt;br&gt;    {&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt; switch (&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_cache_type&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;)&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;     {&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;           case &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'none'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;:&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    break;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      case &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'eaccelerator'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;:&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;eaccelerator_put&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$key&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$ttl&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;);&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    break;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      case &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'apc'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;:&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;apc_store&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$key&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$ttl&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;);&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    break;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      case &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'xcache'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;:&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;     &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;xcache_set&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$key&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$ttl&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;);&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    break;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      case &lt;/span&gt;&lt;span style=&quot;color: rgb(221, 0, 0); &quot;&gt;'memcache'&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;:&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;   &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 128, 0); &quot;&gt;// Решение set() проблемы с несколькими серверами.&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;  &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 128, 0); &quot;&gt;// <a href="http://www.php.net/manual/ru/function.memcache-set.php#84032">http://www.php.net/manual/ru/function.memcache-set.php#840</a>&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;      &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    if (!&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_memcache&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;replace&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$key&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;MEMCACHE_COMPRESSED&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$ttl&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;))&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;       &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$this&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;_memcache&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;-&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$key&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$data&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;MEMCACHE_COMPRESSED&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;$ttl&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 119, 0); &quot;&gt;);&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;    break;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;  }&lt;br&gt;    }&lt;br&gt;}&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 187); &quot;&gt;?&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;para&quot;&gt;Для тестов были созданы 4 файла:&lt;/div&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;table style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; class=&quot;tgrid&quot; cellpadding=&quot;4&quot; cellspacing=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Название&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Размер&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;Тест 1&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;1028299&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;Тест 2&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;101600&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;Тест 3&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;10081&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;Тест 4&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;1010&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;para&quot;&gt;Содержимое каждого файла представляет из себя сериализованный массив, заполненный случайными значениями. Размеры их, как видите, приблизительно равны 1МБ, 100кБ, 10кБ и 1кБ. В каждом тесте, каждая система тестировалась с каждым из этих файлов.&lt;/div&gt;
&lt;br /&gt;
&lt;span id=&quot;post_p4&quot;&gt;&lt;/span&gt;
&lt;div class=&quot;textheader_h2&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;Тесты.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p4&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;Заранее говорю, что тесты искусственные. К реальности приближен только третий тест, но и у него временами были трудности с точностью измерения очень малых промежутков времени. Главное здесь в сравнении работы четырех подопытных кэш-систем в одинаковых условиях.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;Для большей наглядности я добавил к тестируемым кэш-системам еще и простое чтение файла. В первом тесте из было два:&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;margin-top: 0pt; margin-bottom: 0pt; list-style-type: decimal;&quot;&gt;
&lt;li&gt;&lt;span id=&quot;post_p4&quot;&gt;Открытие файла, запись, перемещение позиции на начало, чтение, закрытие.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span id=&quot;post_p4&quot;&gt;Открытие файла, запись, закрытие и последующее чтение функцией &lt;tt&gt;file_get_contents()&lt;/tt&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;Для остальных тестов использовалось только чтение файла функцией &lt;tt&gt;file_get_contents()&lt;/tt&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p4&quot;&gt;&lt;br /&gt;
&lt;span id=&quot;post_p4_1&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div class=&quot;textheader_h3&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;Тест первый. Зверский.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p4&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;Алгоритм теста такой: в кэш загружается пара ключ-значение и тут же считывается. Операция многократно повторяется. Контрольное время замеряется до и после цикла. Тест повторяется пять раз в течении одного запуска тестового скрипта. Результатом будет среднее значение этих пяти замеров.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;Я подумал, что если размеры тестовых данных уменьшаются в десять раз от файла к файлу, то и число повторов тестовой операции стоит повышать в десять раз при переходе к следующему файлу. Для файла &quot;Тест 1&quot; было выполнено 10 повторов. Соответственно, для файла &quot;Тест 4&quot; - 10000.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;Результаты тестирования представлены в таблице. Время - в секундах.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p4&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div align=&quot;center&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;&lt;/span&gt;
&lt;table style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; class=&quot;tgrid&quot; cellpadding=&quot;4&quot; cellspacing=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Система&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Тест 1&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Тест 2&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Тест 3&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Тест 4&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Файл 1&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;2.336&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;2.561&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;2.191&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;5.407&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Файл 2&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;2.571&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;2.128&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;3.088&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;8.406&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;eAccelerator&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.432&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.402&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.338&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.475&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;APC&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;9.699&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;10.036&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;10.264&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;13.970&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;XCache&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.482&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.946&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.928&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;1.521&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Memcache&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;3.918&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;3.508&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;3.650&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;4.804&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;span id=&quot;post_p4&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;В графическом виде это выглядит так:&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p4&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div align=&quot;center&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;&lt;img src=&quot;<a href="http://deepmemo.com/data/quotes/2008/08/27/14/17/917babb97ef6c6c8a261793516da037f/test1.png">http://deepmemo.com/data/quotes/2008/08/27/14/17/917babb97e</a>&quot; alt=&quot;&quot; border=&quot;0&quot; lowsrc=&quot;<a href="http://files.shelek.su/articles/imgforarticles/rxl/temp/test1.png">http://files.shelek.su/articles/imgforarticles/rxl/temp/test1.</a>&quot; width=&quot;400&quot; height=&quot;&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p4&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;Сперва протестировал работу с файлами, eAccelerator, APC и Memcache, а когда перешел к XCache, то скрипт стал аварийно завершаться. В логах Апача было сообщение о нехватке памяти. Увеличил размер с 16 до 32 МБ и повторил эксперимент: опять падение. 128 МБ - тоже. 192 - опять. На 200 МБ скрипт отработал до конца без ошибок. Вот такой вот он - XCache. Пришлось проводить тест для всех систем заново, с едиными условиями. При этом время работы всех систем, кроме Memcache, серьезно сократилось: в 1.5-2 раза. Видимо, за счет уменьшения работ по сборке мусора.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;Поразила скорость APC: в 2-4 раза медленнее, чем работа с файлами. Memcache тоже оказался не на высоте. eAccelerator, похоже, даже не заметил разницу: что 1 МБ, что 1 кБ, что 10 циклов, что 10000.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p4&quot;&gt;&lt;br /&gt;
&lt;span id=&quot;post_p4_2&quot;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;div class=&quot;textheader_h3&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;Тест второй. Многократное чтение.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p4&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;На следующий день я поискал в интернете впечатления других людей о APC - аутсайдере моего теста, и, что интересно, ничего плохого не нашел. По этому я решил сделать еще один тест, более приближенный к реальности. За основу взял первый тест и изменил алгоритм: считывается тестовый файл, помещается в кэш и в цикле считывается. Время измерялось до функции чтения и после, помещалось в массив, а после цикла производилось усреднение результата. Количество циклов было аналогично первому тесту: от 10 до 10000.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;para&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;Результаты представлены в таблице. Время - в секундах.&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;post_p4&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;div align=&quot;center&quot;&gt;&lt;span id=&quot;post_p4&quot;&gt;&lt;/span&gt;
&lt;table style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; class=&quot;tgrid&quot; cellpadding=&quot;4&quot; cellspacing=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Система&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Тест 1&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Тест 2&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Тест 3&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Тест 4&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;Файл&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.121911&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.008692&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.001274&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.000242&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;eAccelerator&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.025335&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.002391&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.000201&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.000025&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;&lt;b&gt;APC&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.099481&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; -x-system-font: none; color: inherit;&quot; valign=&quot;top&quot;&gt;
&lt;div style=&quot;text-align: right;&quot;&gt;0.008770&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-]]></description>
        </item>
                
        <item>
            <title><![CDATA[Facebook Developers | fbFund]]></title>
            <link>http://deepmemo.com/forrest/weblog/89188.html</link>
            <guid isPermaLink="true">http://deepmemo.com/forrest/weblog/89188.html</guid>
            <pubDate>Fri, 15 Aug 2008 10:38:05 GMT</pubDate>
		<dc:subject><![CDATA[competition]]></dc:subject>
		<dc:subject><![CDATA[facebook]]></dc:subject>
            <description><![CDATA[Our investors would prefer that you have at least one developer based in the US. We are currently exploring ways to make fbFund more international. Unfortunately, at this time, our investors have indicated to us that it is very difficult and costly to get around tax and legal issues for non-recourse grants in countries outside the U.S. We are working with them very closely to figure out where it would be possible. We just recently learned that we are able to make investments in Canada and the UK.]]></description>
        </item>
                
        <item>
            <title><![CDATA[HTC Dream уже в сентябре? | AndroidWare.ru]]></title>
            <link>http://deepmemo.com/forrest/weblog/88776.html</link>
            <guid isPermaLink="true">http://deepmemo.com/forrest/weblog/88776.html</guid>
            <pubDate>Thu, 14 Aug 2008 18:05:51 GMT</pubDate>
            <description><![CDATA[В то же время авторы известного ресурса AndroidGuys <a href="http://androidguys.com/2008/08/12/dont-believe-the-hype-android-not-coming-in-september/">сомневаются</a> в том, что HTC Dream появится уже в сентябре. Утверждается, что Android готов на 80% и за несколько недель до 17 сентября оставшиеся 20% никак не могут быть завершены. Что ж, достаточно скоро мы сможем убедиться, кто был прав.]]></description>
        </item>
                
        <item>
            <title><![CDATA[HTC Dream уже в сентябре? | AndroidWare.ru]]></title>
            <link>http://deepmemo.com/forrest/weblog/88774.html</link>
            <guid isPermaLink="true">http://deepmemo.com/forrest/weblog/88774.html</guid>
            <pubDate>Thu, 14 Aug 2008 17:59:32 GMT</pubDate>
            <description><![CDATA[Как сообщает интернет-ресурс <a href="http://tmonews.com/">TmoNews</a>, стали известны некоторые подробности о предстоящем выпуске в продажу нового смартфона HTC Dream на базе Android, о котором уже распространилось множество слухов. В то время как ходили упорные слухи об отсрочке его выпуска до следующего года, согласно информации, полученной ресурсом, существующие абоненты оператора сотовой связи T-Mobile смогут размещать предварительные заказы на HTC Dream, начиная с 17 сентября. Причем цена на этот смартфон составит 399 долларов без контракта и 150 долларов вместе с контрактом.]]></description>
        </item>
                
        <item>
            <title><![CDATA[Как демонстрировать свой стартап / Стартапы / Хабрахабр]]></title>
            <link>http://deepmemo.com/forrest/weblog/88760.html</link>
            <guid isPermaLink="true">http://deepmemo.com/forrest/weblog/88760.html</guid>
            <pubDate>Thu, 14 Aug 2008 17:33:17 GMT</pubDate>
            <description><![CDATA[Google уже проникала на многие рынки, но компанией №1 она является только в сфере поиска. Хотя она и пыталась конкурировать с MySpace и Facebook в сфере социальных сетей, в области классифицированных объявлений с Craiglist, в новостной сфере с Yahoo и AOL, в сфере электронной почты и мгновенных сообщений с Microsoft, AOL и Yahoo.]]></description>
        </item>
                
        <item>
            <title><![CDATA[Горе-инноваторы / Лента новостей / Блоги / Хабрахабр]]></title>
            <link>http://deepmemo.com/forrest/weblog/84213.html</link>
            <guid isPermaLink="true">http://deepmemo.com/forrest/weblog/84213.html</guid>
            <pubDate>Thu, 07 Aug 2008 16:11:31 GMT</pubDate>
            <description><![CDATA[Тесты, проведенные в <a href="http://www.timesonline.co.uk/tol/news/uk/crime/article4467106.ece">английской Times</a> доказали, что хваленый RFID чип в паспортах жителей США и Великобритании (которые сейчас в массовом порядке начали их получать) может быть взломан и клонирован менее чем за час. Два рядовых паспорта среднестатистических англичан были «вскрыты», после чего на место фотографий владельцев были вставлены фотографии Усама Бен Ладена и подрывника-самоубийцы (в чувстве юмора не откажешь). Причем, что самое занимательное — уникальность обоих паспортов была подтверждена тем самым «специальным устройством».]]></description>
        </item>
                
        <item>
            <title><![CDATA[Feed.registerTemplateBundle - Facebook Developers Wiki]]></title>
            <link>http://deepmemo.com/forrest/weblog/83355.html</link>
            <guid isPermaLink="true">http://deepmemo.com/forrest/weblog/83355.html</guid>
            <pubDate>Wed, 06 Aug 2008 15:16:18 GMT</pubDate>
		<dc:subject><![CDATA[facebook]]></dc:subject>
		<dc:subject><![CDATA[api]]></dc:subject>
            <description><![CDATA[Which of the three stories gets published depends on which one is deemed to be the most engaging.]]></description>
        </item>
                
        <item>
            <title><![CDATA[Help по Google - Форум содружества домашних сетей города Днепропетровска]]></title>
            <link>http://deepmemo.com/forrest/weblog/80385.html</link>
            <guid isPermaLink="true">http://deepmemo.com/forrest/weblog/80385.html</guid>
            <pubDate>Thu, 31 Jul 2008 18:59:30 GMT</pubDate>
		<dc:subject><![CDATA[руководство]]></dc:subject>
		<dc:subject><![CDATA[google]]></dc:subject>
            <description><![CDATA[Интерфейс Google содержит довольно сложный язык запросов, позволяющий ограничить область поиска отдельными доменами, языками, типами файлов и т. д. Использование некоторых операторов этого языка позволяет сделать процесс поиска необходимой информации более гибким и точным. Рассмотрим некоторые из них.<br />
<br />
Логическое «И» (AND):<br />
По умолчанию при написании слов запроса через пробел Google ищет документы, содержащие все слова запроса. Это и соответствует оператору AND. Т.е. пробел равносилен оператору AND.<br />
<br />
Например:<br />
Кошки собаки попугаи зебры<br />
Кошки AND собачки AND попугаи AND зебры<br />
(оба запроса одинаковы)<br />
<br />
Логическое «ИЛИ» (OR):<br />
Пишется с помощью оператора OR. Обратите внимание, что оператор OR должен быть написан заглавными буквами. Относительно недавно появилась возможность написания логического «ИЛИ» в виде вертикальной черты ( | ), подобно тому, как это делается в Яндексе. Используется для поиска с несколькими вариантами необходимой информации.<br />
<br />
Например:<br />
Таксы длинношерстные OR гладкошерстные<br />
Таксы длинношерстные | гладкошерстные<br />
(оба запроса одинаковы)<br />
<br />
!!! Необходимо помнить, что запросы в Google не чувствительны к регистру! Т.е. запросы Остров Гренландия и остров гренландия будут абсолютно одинаковы.<br />
<br />
Оператор «Плюс» (+):<br />
Бывают ситуации, когда надо принудительно включить в текст какое-либо слово, которое может иметь варианты написания. Для этого используется оператор "+" перед обязательным словом. Предположим, если у нас запрос Один дома I, в результате запроса у нас появится ненужная информация об "Один дома II", "Один дома III" и совсем немного про "Один дома I". Если же у нас запрос вида Один дома +I, в результате будет информация только о фильме "Один дома I".<br />
<br />
Например:<br />
Газета +Заря<br />
Уравнение Бернулли +математика<br />
<br />
Исключение слов из запроса. Логическое «НЕ» (-):<br />
Как известно, информационный мусор часто встречается при составлении запроса. Чтобы его удалить, стандартно используются операторы исключения – логическое «НЕ». В Google такой оператор представлен знаком «минус». Используя этот оператор, можно исключать из результатов поиска те страницы, которые содержат в тексте определенные слова. Используется, как и оператор "+", перед исключаемым словом.<br />
<br />
Например:<br />
Журавль колодец -птица<br />
Мертвые души -роман<br />
<br />
Поиск точной фразы (""):<br />
Искать точную фразу на практике требуется либо для поиска текста определенного произведения, либо для поиска определенных продуктов или компаний, в которых название или часть описания представляет собой стабильно повторяющееся словосочетание. Чтобы справиться с такой задачей при помощи Гугла, требуется заключить запрос в кавычки (имеются в виду двойные кавычки, которые применяются, например, для выделения прямой речи).<br />
<br />
Например:<br />
Произведение "Тихий дон"<br />
"На дворе было холодно, хотя это и не мешало Борису осуществить запланированное"<br />
<br />
!!! Кстати, Google позволяет вводить в сторку запроса не более 32 слов!<br />
<br />
Усечение слова (*):<br />
Иногда требуется искать информацию о словосочетании слов, в котором неизвестно одно или несколько слов. Для этих целей вместо неизвестных словв используется оператор "*". Т.е. "*" - любое слово или группа слов.<br />
<br />
Например:<br />
Мастер и *<br />
Леонардо * Винчи<br />
<br />
Оператор cache:<br />
Поисковая машина хранит версию текста, которая проиндексирована поисковым пауком, в специальном хранилище в формате, называемом кэшем. Кэшированную версию страницы можно извлечь, если оригинальная страница недоступна (например, не работает сервер, на котором она хранится). Кэшированная страница показывается в том виде, в котором она хранится в базе данных поисковой машины и сопровождается надписью наверху страницы о том, что это страница из кэша. Там же содержится информация о времени создания кэшированной версии. На странице из кэша ключевые слова запроса подсвечены, причем каждое слово для удобства пользователя подсвечено своим цветом. Можно создать запрос, который сразу будет выдавать кэшированную версию страницы с определенным адресом: cache:адрес_страницы, где вместо "адрес_страницы" - адрес сохраненной в кэше страницы. Если требуется найти в кэшированной странице какую либо информацию, надо после адреса страницы через пробел написать запрос этой информации.<br />
<br />
Например:<br />
cache:<a href="http://www.bsd.com/" target="_blank">www.bsd.com</a><br />
cache:<a href="http://www.knights.ru/" target="_blank">www.knights.ru</a> турниры<br />
<br />
!!! Надо помнить, что пробела между ":" и адресом страницы быть не должно!<br />
<br />
Опаратор filetype:<br />
Как известно, Google индексирует не только html страницы. Если, к примеру, понадобилось найти какую-нибудь информацию в отличном от html типе файла, можно воспользоваться оператором filetype, который позволяет искать информацию в определенном типе файлов (html, pdf, doc, rtf...).<br />
<br />
Например:<br />
Спецификация html filetypedf<br />
Сочинения filetype:rtf<br />
<br />
Оператор info:<br />
Оператор info позволяет увидеть информацию, которая известна Google об этой странице.<br />
<br />
Например:<br />
info:<a href="http://www.wiches.ru/" target="_blank">www.wiches.ru</a><br />
info:<a href="http://www.food.healthy.com/" target="_blank">www.food.healthy.com</a><br />
<br />
Оператор site:<br />
Этот оператор ограничивает поиск конкретным доменом или сайтом. То есть, если сделать запрос: маркетинг разведка site:<a href="http://www.acfor-tc.ru/" target="_blank">www.acfor-tc.ru</a>, то результаты будут получены со страниц, содержащих слова "маркетинг" и "разведка" именно на сайте "acfor-tc.ru", а не в других частях Интернета.<br />
<br />
Например:<br />
Музыка site:<a href="http://www.music.su/" target="_blank">www.music.su</a><br />
Книги site:ru<br />
<br />
Оператор link:<br />
Этот оператор позволяет увидеть все страницы, которые ссылаются на страницу, по которой сделан запрос. Так, запрос link:<a href="http://www.google.com/" target="_blank">www.google.com</a> выдаст страницы, в которых есть ссылки на google.com.<br />
<br />
Например:<br />
link:<a href="http://www.ozone.com/" target="_blank">www.ozone.com</a><br />
Друзья link:<a href="http://www.happylife.ru/" target="_blank">www.happylife.ru</a><br />
<br />
Оператор allintitle:<br />
Если запрос начать с оператора allintitle, что переводится как "все в заголовке", то Google выдаст тексты, в которых все слова запроса содержатся в заголовках (внутри тега TITLE в HTML).<br />
<br />
Например:<br />
allintitle:Бесплатный софт<br />
allintitle:Скачать музыкальные альбомы<br />
<br />
Оператор intitle:<br />
Показывает страницы, в кoтopыx только то слово, которое стоит непосредственно после оператора intitle, содержится в заголовке, а все остальные слова запроса могут быть в любом месте текста. Если поставить оператор intitle перед каждым словом запроса, это будет эквивалентно использованию оператора allintitle.<br />
<br />
Например:<br />
Программы intitle:Скачать<br />
intitle:Бесплатно intitle:скачать софт<br />
<br />
Оператор allinurl:<br />
Если запрос начинается с оператора allinurl, то поиск ограничен теми документами, в которых все слова запроса содержатся только в адресе страницы, то есть в url.<br />
<br />
Например:<br />
allinurl:rus games<br />
allinurloks fantasy<br />
<br />
Оператор inurl:<br />
Слово, которые расположено непосредственно слитно с оператором inurl, будет найдено только в адресе страницы Интернета, а остальные слова – в любом месте такой страницы.<br />
<br />
Например:<br />
inurloks скачать<br />
inurl:games кряк<br />
<br />
Оператор related:<br />
Этот оператор описывает страницы, которые "похожи" на какую-то конкретную страницу. Так, запрос related:<a href="http://www.google.com/" target="_blank">www.google.com</a> выдаст страницы со схожей с Google тематикой.<br />
<br />
Например:<br />
related:<a href="http://www.ozone.com/" target="_blank">www.ozone.com</a><br />
related:<a href="http://www.nnm.ru/" target="_blank">www.nnm.ru</a><br />
<br />
Оператор define:<br />
Этот оператор выполняет роль своего рода толкового словаря, позволяющего быстро получить определение того слова, которое введено после оператора.<br />
<br />
Например:<br />
define:Кенгуру<br />
define:Материнская плата<br />
<br />
Оператор поиска синонимов (~):<br />
Если вы хотите найти тексты, содержащие не только ваши ключевые слова, но и их синонимы, то можно воспользоваться оператором "~" перед словом, к которому необходимо найти синонимы.<br />
<br />
Например:<br />
Виды ~метаморфоз<br />
~Объектное ориентирование<br />
<br />
Оператор диапозона (..):<br />
Для тех, кому приходится работать с цифрами, Google дал возможность искать диапазоны между числами. Для того, чтобы найти все страницы, соде]]></description>
        </item>
        
    </channel>
</rss>