Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Помогите добавить кеширование к скрипту

Тема в разделе "Вопросы- ответы", создана пользователем Winston?!, 30 мар 2017.

30.03.17 в 15:13
30.03.17 в 21:03
3
967
0
  1. TopicStarter Overlay
    Winston?!

    VIP Кинотрафик v2

    Регистрация:
    31 дек 2016
    Сообщения:
    1.256
    Лучших ответов:
    2
    Рейтинги:
    +106 / 11 / -0
    Sander помог сделать вывод количества новостей в шаблонах сайта, но так как в скрипте не предусмотрено кеширование будет большая нагрузка (спасибо за совет @byroot )... Помогите к приведенному ниже скрипту добавить кеширование
     
  2. DLEPlugins

    Кодер

    Регистрация:
    29 ноя 2015
    Сообщения:
    1.608
    Лучших ответов:
    8
    Рейтинги:
    +1.195 / 9 / -0
    Где конкретно будет выводиться это количество новостей? На главной, в полной новости, на статической странице?
     
  3. TopicStarter Overlay
    Winston?!

    VIP Кинотрафик v2

    Регистрация:
    31 дек 2016
    Сообщения:
    1.256
    Лучших ответов:
    2
    Рейтинги:
    +106 / 11 / -0
    На главной. Вот рабочий вариант от Vitnet
    Код:
    <?PHP
    
    $c = dle_cache("news_count", $config['skin']);
    
    if( !$c || $c === false ) {
        $c = $db->super_query( "SELECT count(*) as c FROM " . PREFIX . "_post WHERE approve='1'" );
    
        $c = intval($c['c']);
        create_cache("news_count", $c, $config['skin']);
    }
    
    echo $c;
    
    ?>
     
    • Нравится Нравится x 2
  4. ZULI

    ZULI Бывалый

    Регистрация:
    16 ноя 2016
    Сообщения:
    926
    Лучших ответов:
    1
    Рейтинги:
    +249 / 29 / -0
    я бы memcache юзал бы, быстрее чем кеширование в файлы

    $memcache = new Memcache;
    $memcache->connect('localhost', 11211);

    $c = $memcache->get( "c" );

    if ( ! $c ) {
    $c = $db->super_query("SELECT count(*) as c FROM ".PREFIX."_post WHERE approve");
    }
    $memcache->add( "c", $content, MEMCACHE_COMPRESSED, 900 );
    $memcache->close();

    Блин, случайно отправил, не дописав в конце return $c (или echo)
    как-то так.

    и в строке ошибочка
    $memcache->add( "c", $c, MEMCACHE_COMPRESSED, 900 );

    в конце время хранения кэша в секундах

    P.S. Сделайте редактирование своего поста хотя бы в течение 5-ти минут, чтобы тонну постов не создавать...
     
    #4 ZULI, 30 мар 2017
    Последнее редактирование модератором: 30 мар 2017
    • Нравится Нравится x 1
Яндекс.Метрика