alex19pov31 / bitrix-redis-cache
Bitrix redis cache engine
v0.1.2
2019-03-21 09:27 UTC
Requires
- php: >=7.0
- predis/predis: ^1.1
This package is auto-updated.
Last update: 2024-10-21 22:51:06 UTC
README
Bitrix Redis cache
Кеширование данных посредством Redis.
Установка
composer require alex19pov31/bitrix-redis-cache
Настройка
В файле /bitrix/.settings_extra.php (если его нет, то создать) прописываем настройки:
<?php return [ 'cache' => [ 'value' => [ 'type' => [ 'class_name' => 'Alex19pov31\BitrixRedisCache\RedisCacheEngine', ], 'redis' => [ 'scheme' => 'tcp', 'host' => '127.0.0.1', 'port' => 6379, ], 'sid' => $_SERVER["DOCUMENT_ROOT"]."#01" ], ], ];
Подробней о параметрах подключения можно прочитать тут - https://github.com/nrk/predis/wiki/Connection-Parameters
Автолоадер надо подключать в /bitrix/dbconn.php.
Использование
use Bitrix\Main\Data\Cache; $data = null; $ttl = 3600; // кешируем на час $key = "test_key"; // ключ кеша $cache = Cache::createInstance(); if ($cache->initCache($ttl, $key, 'redis')) { $data = $cache->getVars(); // или если имело место быть кеширование вывода $cache->output(); } elseif ($cache->startDataCache($ttl, $key, 'redis', [])) { $data = 'Тестовые данные'; $cache->endDataCache($data); }
Принудительное использование (без конфигурационного файла)
use Alex19pov31\BitrixRedisCache\RedisCacheEngine; use Bitrix\Main\Data\Cache; $cacheEngine = new RedisCacheEngine([ 'scheme' => 'tcp', 'host' => '127.0.0.1', 'port' => 6379, ]); $data = null; $ttl = 3600; // кешируем на час $key = "test_key"; // ключ кеша $cache = new Cache($cacheEngine); if ($cache->initCache($ttl, $key, 'redis')) { $data = $cache->getVars(); // или если имело место быть кеширование вывода $cache->output(); } elseif ($cache->startDataCache($ttl, $key, 'redis', [])) { $data = 'Тестовые данные'; $cache->endDataCache($data); }