@websiller

Правильно ли кэшировать результат из базы данных в статическом свойстве класса модели?

Есть модель Users:
class Users extends CActiveRecord
{
	public static $userInfo = null;
...


В этой модели есть метод, который достает из базы инфу о текущем пользователе и сохраняет ее в self::$userInfo, чтобы при следующем обращении к методу не дергать базу. Вопрос такой - правильно ли сохранять эту информацию в классе модели или есть другой более правильный способ?
  • Вопрос задан
  • 24 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Mysterion
Если у Вас метод, достающий данные из кеша, отрабатывает раньше, чем запрос с базу, то нормально все.
Но я бы лучше сделал метод отдельный, которые проверяет наличие в переменной данных и, если их нет, то делаем запрос и заносим данные в переменную и возвращаем их по запросу в этом же методе. Если данные есть, то достаем из кеша и возвращаем.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы