Yii2 кеш сетки - PullRequest
       12

Yii2 кеш сетки

0 голосов
/ 13 октября 2019

У меня относительно сложный запрос к 8 таблицам, который возвращает до 10000 записей с 20 столбцами. Затем они отображаются в GridView

. Пользователь несколько раз сортирует и фильтрует GridView - вызывая перезагрузку страницы - для ранжирования данных. Один столбец содержит функцию рейтинга Ajax «пять звезд», а затем пользователь отмечает каждую строку: от одной звезды до пяти звезд

Естественно, это не самая быстрая страница загрузки, поэтому мне было интересно, смогу ли я использовать кэширование дляускорить загрузку страницы, но не знаю, можно ли это сделать, учитывая фильтрацию и маркировку

Можно ли в этом примере использовать кэширование? Данные в 19 столбцах всегда одинаковы (пользователь не может изменить данные), но пользователь постоянно меняет рейтинг в 20-м столбце

Могу ли я кэшировать 19 столбцов и фильтровать / сортировать после ??

Могу ли я кешировать 19 столбцов и впоследствии присоединиться к столбцу рейтинга ??

Большое спасибо

1 Ответ

0 голосов
/ 14 октября 2019

Вы можете легко использовать фильтр PageCache поведения yii2 для простого кэширования страниц.

Просто добавьте следующий код в свой контроллер и установите свойства зависимостей и вариантов в соответствии с вашими потребностями.

public function behaviors()
{
    return [
        'pageCache' => [
            'class' => 'yii\filters\PageCache',
            'only' => ['index'],
            'duration' => 60,
            'dependency' => [
                'class' => 'yii\caching\DbDependency',
                'sql' => 'SELECT COUNT(*) FROM post',
            ],
            'variations' => [
                \Yii::$app->language,
            ]
        ],
    ];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...