MODX использует менеджер кэширования для хранения и извлечения данных из кэша. $modx->cacheManager - это экземпляр класса modCacheManager, который предоставляет методы для работы с кэшем.
Основные методы MODX Cache
Сохранить в кэш — set($key, $var, $lifetime = 0, $options = [])
Этот метод используется для сохранения данных ($value) в кэше с определенным ключом ($key) и временем жизни ($lifetime, в секундах).
Важно отметить, что параметр $options
может быть использован для указания конкретных опций кэширования, таких как раздел кэша (cache partition).
$options = array( 'cache_key' => 'my_custom_partition', ); $modx->cacheManager->set('my_key', 'my_value', 3600);
Получить из кэша — get($key, $options = [])
Этот метод используется для получения данных из кэша по определенному ключу ($key). Если данных с указанным ключом нет, метод вернет NULL.
$value = $modx->cacheManager->get('my_key', $options);
Удалить из кэша — delete ($key, $options = [])
Этот метод используется для удаления данных из кэша по определенному ключу ($key)
$modx->cacheManager->delete('my_key', $options);
Обновить кэш — refresh($options = [])
Этот метод используется для обновления системного кэша.
$modx->cacheManager->refresh([ 'context_settings' => ['contexts' => ['web', 'web2'] ] ]);
Очистить кэш — clean($options = [])
Этот метод очищает все или выбранные типы кэша, основанные на параметрах, переданных в $options.
$modx->cacheManager->clean($options);
Для чего нужно указывать $options
Параметр $options
используется для передачи дополнительных настроек и опций при работе с кэшем. Он позволяет вам гибко настраивать поведение кэширования в зависимости от потребностей. Вот некоторые распространенные примеры использования $options
:
- Разделы кэша (cache partitions):
Вы можете создать разделы кэша, чтобы группировать связанные данные вместе и изолировать их от других данных. Это упрощает управление кэшем и позволяет очищать определенные группы данных, не затрагивая остальные. Параметр'cache_key'
, или стандарная переменная, хранящая эту же строкуxPDO::OPT_CACHE_KEY
, определяет название папки, в которой будет хранится кэш. Эту папку можно найти в дирректорииcore/cache/{'cache_key'}
Чтобы указать раздел кэша, добавьте'cache_key'
в$options
:
$options = array( 'cache_key' => 'my_custom_partition', ); $modx->cacheManager->set('my_key', 'my_value', 3600, $options);
- Пользовательские обработчики кэша:
MODX позволяет использовать собственные обработчики кэша для хранения данных в других системах кэширования, таких как Memcached, Redis и т.д. Вы можете указать пользовательский обработчик, добавив'handler'
и'handlerOptions'
в$options
:
$options = array( 'handler' => 'myCustomCacheHandler', 'handlerOptions' => array( 'option1' => 'value1', 'option2' => 'value2', ), ); $modx->cacheManager->set('my_key', 'my_value', 3600, $options);
- Компоненты MODX:
Если вы разрабатываете компонент для MODX, может потребоваться использовать собственный раздел кэша или обработчик кэша для хранения данных вашего компонента. В этом случае вы также можете использовать параметр$options
для передачи настроек кэширования.
Обратите внимание, что в зависимости от выбранного метода кэширования и класса кэширования, могут быть доступны различные опции. Проверьте документацию по вашему обработчику кэша, чтобы узнать о всех доступных опциях.
Комментарии (0)
Не писать ответ