Иконка ресурса

Включаем кеширование в XF 2.0

$config['cache']['provider'] = 'Memcached';
Сейчас часто используется libmemcached
С боевого, под мемкеш
PHP:
$config['cache'] = array(
    'enabled' => true,
    'cacheSessions' => true,
    'frontend' => 'Core',
    'frontendOptions' => array(
        'caching' => true,
        'cache_id_prefix' => 'xf2_',
        'automatic_serialization' => true,
        'lifetime' => 0),
    'backend' => 'Libmemcached',
    'backendOptions' => array(
        'servers' => array(
            array(
                'host' => '127.0.0.1',
                'port' => 11211,
                'weight' => 1
            )
        )
    )
);


скорее всего мемкеш не подключен.
Тогда просто отвалится авторизация у пользователей, не куда писать сессию. Как бы.

Другой вопрос в том, что с
мемкешем и прочими не решается. У подобного кеширования другая задача - запихнуть те же сессии в более дешевое хранилище, убрав этот(и) запрос(ы) с mysql.
Как проверить кеширование я писал выше и даже несколько раз. В этой же теме.
 
Последнее редактирование:
Ага щас. Ксен исключение вываливет)
Если нет самой бибилиотеки php-memcache(d), тут уже явно варнинг или критикал будет, не помню точно. Но это не случай ТС, libmemcached у него скушала (а вот php-memcache у него уже может и не быть - в новых версиях php, при рекомендуемой php7.2 очень даже может не быть). В случае, если неправильно конфиг, не запущен/не доступен сам демон memcached и так далее - просто отваливается авторизация у пользователей (у admin.php она отдельная в mysql) - это самый первый признак проблем с кешем.
 
Последнее редактирование:
Видимо у меня её в принципе нет. Буду знать, спс.
 
Код:
<?php

$config['db']['host'] = 'localhost';
$config['db']['port'] = '3306';
$config['db']['username'] = '';
$config['db']['password'] = '';
$config['db']['dbname'] = '';

$config['enableListeners'] = true;
$config['superAdmins'] = '721,1';
$config['enableTfa'] = true;

$config['cache']['provider'] = 'libmemcached';
$config['cache'] = array(
    'enabled' => true,
    'cacheSessions' => true,
    'frontend' => 'Core',
    'frontendOptions' => array(
        'caching' => true,
        'cache_id_prefix' => 'xf2_',
        'automatic_serialization' => true,
        'lifetime' => 0),
    'backend' => 'Libmemcached',
    'backendOptions' => array(
        'servers' => array(
            array(
                'host' => '127.0.0.1',
                'port' => 11211,
                'weight' => 1
            )
        )
    )
);

//$config['debug'] = true;



/* Include Iconify code */
$iconifyConfigFile = __DIR__ . '/addons/Iconify/Iconify/config.php';
if (@file_exists($iconifyConfigFile))
{
    require($iconifyConfigFile);
}
/* End of Iconify code */

Форум заводится с данным конфигом.
Но не вижу какой то активности в стате мемкеша
98235
 
Конфиг завелся,
Код:
<?php

$config['db']['host'] = 'localhost';
$config['db']['port'] = '3306';
$config['db']['username'] = '';
$config['db']['password'] = '';
$config['db']['dbname'] = '';

$config['enableListeners'] = true;
$config['superAdmins'] = '721,1';
$config['enableTfa'] = true;

$config['cache']['provider'] = 'libmemcached';
$config['cache'] = array(
    'enabled' => true,
    'cacheSessions' => true,
    'frontend' => 'Core',
    'frontendOptions' => array(
        'caching' => true,
        'cache_id_prefix' => 'xf2_',
        'automatic_serialization' => true,
        'lifetime' => 0),
    'backend' => 'Libmemcached',
    'backendOptions' => array(
        'servers' => array(
            array(
                'host' => '127.0.0.1',
                'port' => 11211,
                'weight' => 1
            )
        )
    )
);

//$config['debug'] = true;



/* Include Iconify code */
$iconifyConfigFile = __DIR__ . '/addons/Iconify/Iconify/config.php';
if (@file_exists($iconifyConfigFile))
{
    require($iconifyConfigFile);
}
/* End of Iconify code */

но по стате PHPMemcachedAdmin работы кэша не вижу.
98236

Мем кэш включен
Код:
root@~# netstat -ltupn | grep memcached
tcp        0      0 127.0.0.1:11211         0.0.0.0:*               LISTEN      2256/memcached
udp        0      0 127.0.0.1:11211         0.0.0.0:*                           2256/memcached
 
но по стате PHPMemcachedAdmin работы кэша не вижу.
Выше
дебаг в странице, там уже будет конкретика.
Смотреть на число запросов, с кешем как минимум будет -1, авторизация пользователя должна работать исправно. Статистику же имеет смысл смотреть при работающем в продакте форуме.
 
По умолчанию, время кеширование 300 секунд, есть смысл его увеличивать?
Если страница не изменилась за 300 секунд, она исчезнет из кеша?
А если она изменилась через 10 секунд, то еще 290 секунд сервер будет отдавать устаревшую страницу?
 
Вот это сейчас что было?
 
$config['pageCache']['lifetime'] (default: 300) - the amount of time, in seconds, that a page will be cached for.
 
А на что похоже?))
На бородатый анекдот
-- Петька, приборы?
-- 360
-- Что 360?
-- А что приборы?

Индивидуально
Да
Да
Это не полнофункциональный кеш в прямом понимании это слова, это просто key-value хранилище (более дешевое по доступу/ресурсам) для промежуточных результатов (и сессий, бонусом).
 
Fatal error: Uncaught LogicException: Cannot load APC cache provider without APC in /var/www/u0702290/data/www/true-market.ru/src/XF/CacheFactory.php:89 Stack trace: #0 /var/www/u0702290/data/www/true-market.ru/src/XF/CacheFactory.php(79): XF\CacheFactory->createApcCache(Array) #1 /var/www/u0702290/data/www/true-market.ru/src/XF/CacheFactory.php(34): XF\CacheFactory->instantiate('Apc', Array) #2 /var/www/u0702290/data/www/true-market.ru/src/XF/App.php(632): XF\CacheFactory->create('Apc', Array) #3 /var/www/u0702290/data/www/true-market.ru/src/XF/Container.php(228): XF\App->XF\{closure}('', Array, Object(XF\Container)) #4 /var/www/u0702290/data/www/true-market.ru/src/XF/App.php(2342): XF\Container->create('cache', '') #5 /var/www/u0702290/data/www/true-market.ru/src/XF/App.php(659): XF\App->cache('registry') #6 /var/www/u0702290/data/www/true-market.ru/src/XF/Container.php(28): XF\App->XF\{closure}(Object(XF\Container)) #7 /var/www/u0702290/data/www/true-market.ru/src/XF/App.php(1643): XF\Container->offsetGet('registry') # in /var/www/u0702290/data/www/true-market.ru/src/XF/CacheFactory.php on line 89
Безымянный.png


Настроил кэширование в панельке хостинга регру,но сайт от этого тоже не заработал
Безымянный.png

//// UPD:
Поменял код на этот и всё заработало)
$config['cache']['enabled'] = true;
$config['cache']['cacheSessions'] = true;
$config['cache']['frontend'] = 'Core';
$config['cache']['frontendOptions'] = array(
'caching' => true,
'cache_id_prefix' => 'xfxx_',
'automatic_serialization' => false,
'lifetime' => 0
);

$config['cache']['backend'] = 'Libmemcached';

$config['cache']['backendOptions'] = array(
'servers' => array(
array(
'host' => '127.0.0.1',
'port' => 11211,
'weight' => 1
)
)
);
 
Последнее редактирование:
А как можно проверить работает кеширование или нет, к примеру redis
$config['cache']['enabled'] = true;
$config['cache']['provider'] = 'Redis';
$config['cache']['config'] = [
'host' => '127.0.0.1',
];
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу