Почему Yii::$app->cache->getOrSet возвращает всегда null?

Mетод getOrSet класса Yii::$app->cache возвращает значение, которое находится в кэше по заданному ключу. Если значение не найдено, то метод создаст новое значение, используя замыкание или значение, возвращенное из метода-генератора, и сохранит его в кэше.

Если метод getOrSet всегда возвращает null, то это может быть вызвано несколькими причинами:

1. Кеш не настроен: Проверьте конфигурацию приложения и убедитесь, что компонент кэша правильно настроен в файле конфигурации (config/main.php). Убедитесь, что вы указали драйвер кэша и настроили соответствующие параметры.

2. Ключ не существует: Убедитесь, что ключ, переданный в метод getOrSet, существует в кэше. Если ключ не существует, метод создаст новое значение и сохранит его под этим ключом.

3. Неправильный формат значения: В Yii 2 версии, значение, которое вы хотите сохранить в кэше, должно быть сериализуемым. Если значение не может быть сериализовано, то кэшер вернет null. Убедитесь, что переданное значение может быть корректно сериализовано.

4. Происходит ошибка при сохранении значения в кэше: Проверьте журналы приложения на наличие ошибок связанных с кэшем. Если возникают ошибки, может потребоваться проверить правильность настройки кэша и устранить возможные ошибки.

5. Драйвер кэша не работает: Проверьте, что выбранный драйвер кэша работает корректно. Может потребоваться проверить документацию по выбранному драйверу и убедиться, что он правильно установлен и настроен.

Если ни одно из вышеперечисленных решений не работает, возможно потребуется глубокое изучение кода и отладка, чтобы найти причину проблемы. Рекомендуется также обратиться к официальной документации Yii и сообществу разработчиков для получения дополнительной поддержки и рекомендаций.