Sander1 62 Опубликовано: 27 марта 2021 Рассказать Опубликовано: 27 марта 2021 Если по заданным критериям не найдено никаких комментариев и используется memcache, то кеширование не будет работать, поскольку метод: $content = $comments->build_customcomments( $tpl, $custom_template.'.tpl' ); Ничего не возвращает, т.е. имеем $content = NULL И в мемкеш так же записывается значение NULL И следовательно проверка кеша уже недействительна. if( $content !== false ) { Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 094 Опубликовано: 28 марта 2021 Рассказать Опубликовано: 28 марта 2021 Проблема не подтверждается все работает корректно и кеширование в том числе. 19 часов назад, Sander1 сказал: Ничего не возвращает, т.е. имеем $content = NULL И в мемкеш так же записывается значение NULL Все верно. Мы кешируем пустое значение, именно кешируем. А проверка 19 часов назад, Sander1 сказал: if( $content !== false ) { Идет именно по типу !== т.е. мы проверяем не только значение но и тип, а тип false возвращается, если ключа нет, т.е. кеш не сохранялся, если не сохранялся то мы его генерируем повторно. И в данном случае, если комментариев нет, происходит кеширование того что там ничего нет, и каждый раз показываем что ничего нет, а не идем в выборки и опять и не генерируем опять. Все работает в этом случае верно, и кеш тоже работает. Цитата Ссылка на сообщение Поделиться на других сайтах
Sander1 62 Опубликовано: 29 марта 2021 Рассказать Опубликовано: 29 марта 2021 Автор Да, точно. Прошу прощения, то видимо я что-то запутался. Сбило с толку, что при разных типах кеширования один и тот же код в одинаковой ситуации возвращает NULL и string('') Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.