Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alex19pov31/bitrix-redis-cache
Пакет для кеширования данных в redis через интерфейс CMS Bitrix
https://github.com/alex19pov31/bitrix-redis-cache
bitrix cache php redis
Last synced: about 1 month ago
JSON representation
Пакет для кеширования данных в redis через интерфейс CMS Bitrix
- Host: GitHub
- URL: https://github.com/alex19pov31/bitrix-redis-cache
- Owner: alex19pov31
- Created: 2019-03-21T07:22:48.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-03-21T09:30:50.000Z (almost 6 years ago)
- Last Synced: 2024-11-09T09:20:22.746Z (3 months ago)
- Topics: bitrix, cache, php, redis
- Language: PHP
- Homepage:
- Size: 6.84 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![Latest Stable Version](https://poser.pugx.org/alex19pov31/bitrix-redis-cache/v/stable)](https://packagist.org/packages/alex19pov31/bitrix-redis-cache)
# Bitrix Redis cache
Кеширование данных посредством Redis.
## Установка
```bash
composer require alex19pov31/bitrix-redis-cache
```## Настройка
В файле **/bitrix/.settings_extra.php** (если его нет, то создать) прописываем настройки:
```php
[
'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.
## Использование
```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);
}
```## Принудительное использование (без конфигурационного файла)
```php
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);
}