Как лучше хранить временные данные в yii2?

Пользователь

от quinton.prosacco , в категории: PHP , год назад

Как лучше хранить временные данные в yii2?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от mona_terry , год назад

@quinton.prosacco 

В Yii2, для хранения временных данных наиболее подходящим является использование кэша. Yii2 предоставляет несколько компонентов кэша, таких как:

  1. FileCache - кэширование данных в файлах.
  2. DbCache - кэширование данных в базе данных.
  3. ApcCache - кэширование данных с помощью APC.


Для использования кэша в Yii2 нужно настроить компонент кэша в конфигурационном файле и использовать его в приложении, вызывая его через DI-контейнер или как статическое свойство:

1
2
Yii::$app->cache->set('mykey', $data);
$data = Yii::$app->cache->get('mykey');


Также можно использовать встроенные методы для кэширования результатов выполнения запросов к базе данных:

1
2
3
$data = Yii::$app->db->cache(function ($db) {
    return $db->createCommand('SELECT * FROM table')->queryAll();
});


Этот код выполнит запрос к базе данных и закэширует результаты, используя компонент кэша. При следующих вызовах этого кода результаты будут получены из кэша, а не из базы данных.