Занести в кэш одну переменную

Доброго времени суток, имеется сайт на modx evo, сайт получает от crm массив с данными в формате json в сниппете. Дальше я этот массив обрабатываю как нужно и вывожу результат пользователю.
Собственно возник закономерный вопрос, можно ли закэшировать этот массив? Кэшировать сам сниппет не представляется возможным так как результат обработки массива разнится в зависимости от параметров и действий пользователя.
Поэтому идеальным решением посчитал в кэш записать одну глобальную переменную с массивом, который бы обновлялся при чистке общего кэша. И запрос записывающий в эту переменную в массив больше бы не было необходимости ждать при каждом запуске сниппета.
Возможно ли подобное хотя бы в теории? Перерыл весь гугл, не встретил нужной информации, спасибо!

4 комментария

avatar
Записать в отдельный файл и брать потом оттуда — и все дела. Актуальность файла можно проверять по filemtime либо чистить его плагином при каждой очистке кэша (тут уж от задач зависит).
avatar
Всё зависит от задачи. Если пользователей много и ответы разнообразные может лучше тогда глянуть в сторону mongodb или что-то аналогичное?
avatar
Попробовал метод с сохранением массива в файл, работает как нужно, в сниппете просто вызываю файлик и записывю в переменную. Обновлять нужно все таки не только по сбросу кэша, а периодически. Смотрю в сторону cron
avatar
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.