Необходимо понимать что это за кеширование и зачем оно нужно, постараюсь объяснить !
Итак, по хорошему на 70-80 % нагрузку снижает и ускоряет так называемый
PHP OPCache...
Есть расширения для PHP, которые сохраняют компилированный байт код скриптов и повышает производительность скриптов.
Тем не менее, некоторые скрипты поддерживают своё кеширование, вот это кеширование примерно на 20-30 % может разгрузить сервер !
Если говорить про XenForo, то там используется
Zend_Cache не просто класс для кеширования. Это целая концепция, которая состоит из фронтэнда,
отвечающего за параметры кеширования, и бэкенда,
отвечающего за хранение кеша. Так что вы не можете просто создать Zend_Cache, вам нужно воспользоваться фабрикой, предварительно подготовив параметры для фронтэнда и бэкэнда.
Zend_Cache поддерживает следующие беккенды:
1)File Back-End:
Код:
$config['cache']['backend'] = 'File';
2)APC Back-End:
Код:
$config['cache']['backend'] = 'Apc';
3)Memcached Back-End:
Код:
$config['cache']['backend'] = 'Memcached';
$config['cache']['backendOptions'] = array(
'compression' => false,
'servers' => array(
array(
// your memcached server IP /address
'host' => 'localhost',
// memcached port
'port' => 11211,
)
)
);
4)X-Cashe Back-End:
Код:
$config['cache'] = array(
'enabled' => true,
'frontend' => 'Core',
'frontendOptions' => array(
'caching' => true,
'automatic_serialization' => false,
'cache_id_prefix' => 'you_prefix_',
'lifetime' => 18000
),
'backend' => 'Xcache',
'backendOptions' => array(),
'cacheSessions' => true
);
Еще раз:Frontend - Это что кешировать, Backend - Это как кешировать !
Поэтому правильный конфиг, это указание настроек как Frontend, так и Backend:
Пример:
Код:
$config['cache']['enabled'] = true;
$config['cache']['frontend'] = 'Core';
$config['cache']['frontendOptions']['cache_id_prefix'] = 'xf_';
$config['cache']['cacheSessions'] = true;
'automatic_serialization' => true;
'lifetime' => 3600;
$config['cache']['backend'] = 'Memcached';
$config['cache']['backendOptions'] = array(
'compression' => false,
'servers' => array(
array(
// your memcached server IP /address
'host' => 'localhost',
// memcached port
'port' => 11211,
)
)
);
Настройки фронтенда:
Код:
$config['cache']['enabled'] = true;
$config['cache']['frontend'] = 'Core';
$config['cache']['frontendOptions']['cache_id_prefix'] = 'xf_';
$config['cache']['cacheSessions'] = true;
$config['cache']['frontendOptions']['cache_id_prefix'] = 'xf_'; - Перфикс, для безопасности и если много форумов, рекомендуется поменять на свой;
$config['cache']['cacheSessions'] = true; - Кеширование сессий.
А это уже беккенд, пример для Memcashe:
Код:
$config['cache']['enabled'] = true;
$config['cache']['frontend'] = 'Core';
$config['cache']['frontendOptions']['cache_id_prefix'] = 'xf_';
$config['cache']['cacheSessions'] = true;
$config['cache']['frontendOptions']['cache_id_prefix'] = 'xf_'; - Перфикс, для безопасности и если много форумов, рекомендуется поменять на свой;
$config['cache']['cacheSessions'] = true; - Кеширование сессий.