- Автор темы
- #1
Нашел на сайте скрипт оптимизации запросов на DLE, создал его глубокоуважаемый Kodges.
У меня к сожалению ничего не меняется. DLE 8.3
Предполагаю что его необходимо поднастроить.
Нашел у хостера настройки мемкеш, возможно в них дело?
Путь к Memcached-сокету unix:///home/users/k/ket9978/memcached/memcached.sock
IP Memcached-сервера 10.0.0.115
Порт Memcached-сервера 51924
Если заработает с меня на пиво!!!!!!!!!!!!!
1. Открываем index.php, находим:
define ( 'DATALIFEENGINE', true );
Вставляем выше:
////////////////////////////////Кеширование в Memcached ///////////////////////////////////////////
if( $_SESSION['dle_user_id'] == false && $_SERVER['REQUEST_METHOD'] == "GET" )
{
$memcache = memcache_connect( 'localhost', 11211 );
$memkey = md5( $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'] );
$mempage = memcache_get( $memcache, $memkey );
if( $mempage ) exit( $mempage );
}
///////////////////////////////////////////////////////////////////////////////////////////////////
Находим:
GzipOut ();
Вставляем выше:
////////////////////////////////Кеширование в Memcached ///////////////////////////////////////////
if( $_SESSION['dle_user_id'] == false && $_SERVER['REQUEST_METHOD'] == "GET" )
{
memcache_set( $memcache, $memkey, ob_get_contents(), MEMCACHE_COMPRESSED, 3600*2 );
memcache_close( $memcache );
}
///////////////////////////////////////////////////////////////////////////////////////////////////
3600*2 это время жизни кеша, 3600 секунды это 1 час, умножаем 3600 на 2 получается время жизни 2 часа.
2. Всё! Наслаждаемся процессом.
Немного о плюсах и минусах данного способа кеширования. Ну во первых, кеширование похоже на файловое, показанное мною несколькими постами выше.
Плюсы.
1. Еще более быстрый ответ сервера, так как все данные кеша хранятся в оперативной памяти.
2. Никакой нагрузки на HDD. (Меньше износ, больше проживет)
3. Кеш занимает меньше места, так как он сжимается средствами memcached.
4. Как вы могли заметить, я не привел ничего для удаления устаревшего кеша. А все потому что как только время его жизни устаревает в памяти, память занимаемая старым кешем высвобождается сама.
Минусы.
1. Необходимо чтобы у вас было нужное количество оперативки.
2. Если на сервере несколько сайтов, и все они используют данный вид кеширования, то при очистке кеша, удаляется кеш для всех сайтов. То есть невозможно удалить весь кеш только для одного конкретного сайта. С оперативкой такие фокусы не проходят. Либо все либо ничего... Но меня этот факт не сильно напрягает.
3. Больше минусов не вижу
У меня к сожалению ничего не меняется. DLE 8.3
Предполагаю что его необходимо поднастроить.
Нашел у хостера настройки мемкеш, возможно в них дело?
Путь к Memcached-сокету unix:///home/users/k/ket9978/memcached/memcached.sock
IP Memcached-сервера 10.0.0.115
Порт Memcached-сервера 51924
Если заработает с меня на пиво!!!!!!!!!!!!!
1. Открываем index.php, находим:
define ( 'DATALIFEENGINE', true );
Вставляем выше:
////////////////////////////////Кеширование в Memcached ///////////////////////////////////////////
if( $_SESSION['dle_user_id'] == false && $_SERVER['REQUEST_METHOD'] == "GET" )
{
$memcache = memcache_connect( 'localhost', 11211 );
$memkey = md5( $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'] );
$mempage = memcache_get( $memcache, $memkey );
if( $mempage ) exit( $mempage );
}
///////////////////////////////////////////////////////////////////////////////////////////////////
Находим:
GzipOut ();
Вставляем выше:
////////////////////////////////Кеширование в Memcached ///////////////////////////////////////////
if( $_SESSION['dle_user_id'] == false && $_SERVER['REQUEST_METHOD'] == "GET" )
{
memcache_set( $memcache, $memkey, ob_get_contents(), MEMCACHE_COMPRESSED, 3600*2 );
memcache_close( $memcache );
}
///////////////////////////////////////////////////////////////////////////////////////////////////
3600*2 это время жизни кеша, 3600 секунды это 1 час, умножаем 3600 на 2 получается время жизни 2 часа.
2. Всё! Наслаждаемся процессом.
Немного о плюсах и минусах данного способа кеширования. Ну во первых, кеширование похоже на файловое, показанное мною несколькими постами выше.
Плюсы.
1. Еще более быстрый ответ сервера, так как все данные кеша хранятся в оперативной памяти.
2. Никакой нагрузки на HDD. (Меньше износ, больше проживет)
3. Кеш занимает меньше места, так как он сжимается средствами memcached.
4. Как вы могли заметить, я не привел ничего для удаления устаревшего кеша. А все потому что как только время его жизни устаревает в памяти, память занимаемая старым кешем высвобождается сама.
Минусы.
1. Необходимо чтобы у вас было нужное количество оперативки.
2. Если на сервере несколько сайтов, и все они используют данный вид кеширования, то при очистке кеша, удаляется кеш для всех сайтов. То есть невозможно удалить весь кеш только для одного конкретного сайта. С оперативкой такие фокусы не проходят. Либо все либо ничего... Но меня этот факт не сильно напрягает.
3. Больше минусов не вижу