насчет кэширования

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

насчет кэширования

Сообщение vanred79 » 25 янв 2015, 15:39

Добрый день! В руководстве yii нашел код который кэширует страницы:
Код: Выделить всё
public function filters()
{
    return array(
        array(
            
'CHttpCacheFilter + index',
            
'lastModified'=>Yii::app()->db->createCommand("SELECT MAX(`update_time`) FROM {{post}}")->queryScalar(),
        ),
    );

Но там не написано в какой файл его вставлять этот код. Поясните пожалуйста логику применения этого кода и как в ORE его применить.

Код брал отсюда http://www.yiiframework.com/doc/guide/1 ... ching.page
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: насчет кэширования

Сообщение Xpycm » 26 янв 2015, 09:10

Здравствуйте.

Этот код необходимо добавлять в нужный контроллер ( protected/modules/название_модуля/controllers )

Ссылка в тему: https://www.google.ru/search?q=yii+filters
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: насчет кэширования

Сообщение vanred79 » 26 янв 2015, 15:04

Пробовал вставить этот код (в первом посте) сюда /protected/controllers/SiteController.php - главная не открылась
пробовал сюда protected/modules/apartments/controllers/MainController.php - ошибка 404
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: насчет кэширования

Сообщение Xpycm » 26 янв 2015, 15:23

Не удивительно.

В нашем продукте нет таблицы {{post}} и поля update_time

Да и в файле protected/modules/apartments/controllers/MainController.php нет метода actionIndex
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: насчет кэширования

Сообщение vanred79 » 26 янв 2015, 15:29

Xpycm писал(а):Не удивительно.

В нашем продукте нет таблицы {{post}} и поля update_time

Да и в файле protected/modules/apartments/controllers/MainController.php нет метода actionIndex

А аналогичные есть (с другими названиями) или надо создавать эти поля?
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: насчет кэширования

Сообщение Xpycm » 26 янв 2015, 15:32

Посмотрите в БД.

Есть в большинстве таблиц поле что-то вроде date_updated
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: насчет кэширования

Сообщение vanred79 » 26 янв 2015, 16:10

Xpycm писал(а):Посмотрите в БД.

Есть в большинстве таблиц поле что-то вроде date_updated

с датой понятно, а post что может быть не подскажете?
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: насчет кэширования

Сообщение vanred79 » 26 янв 2015, 16:56

Хруст, не подскажете как можно адаптировать этот код под ORE:
Код: Выделить всё
public function filters(){
        return array(
            array(
                
'COutputCache + index',
                    
'duration'=>24*3600*30,
                    
'dependency'=>array(
                        
'class'=>'CChainedCacheDependency',
                        
'dependencies'=>array(
                            new 
CDbCacheDependency('SELECT MAX(update_date) FROM section'),
                            new 
CDbCacheDependency('SELECT MAX(update_date) FROM magazins'),
                        ),
                    ),
                    
'varyByParam'=>array('S','B'),
           ),
        );
    } 

А если точнее вот этот кусок
Код: Выделить всё
 'dependency'=>array(
                        
'class'=>'CChainedCacheDependency',
                        
'dependencies'=>array(
                            new 
CDbCacheDependency('SELECT MAX(update_date) FROM section'),
                            new 
CDbCacheDependency('SELECT MAX(update_date) FROM magazins'), 


У меня на сайте стали появляться ошибки при обращении к БД, хостер рекомендовал оптимизировать запросы к серверу.
На форумах нашел вышеуказанный код, который вроде помогает решить эту проблему.
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

Re: насчет кэширования

Сообщение lomuk » 27 янв 2015, 05:39

Memcached включи
viewtopic.php?f=17&t=1285
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: насчет кэширования

Сообщение vanred79 » 27 янв 2015, 07:49

lomuk писал(а):Memcached включи
viewtopic.php?f=17&t=1285

на виртуальном хостинге можно включить Memcached?
Вся недвижимость Астаны у нас на сайте
vanred79
Местная знаменитость
Местная знаменитость
 
Сообщения: 660
Зарегистрирован: 02 фев 2013, 18:42
Откуда: Казахстан
Очки репутации: 2

След.

Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 85

cron