PHP code example of webarchitect609 / bitrix-cache
1. Go to this page and download the library: Download webarchitect609/bitrix-cache library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
webarchitect609 / bitrix-cache example snippets
use WebArch\BitrixCache\Cache;
$result = Cache::create()
->callback(
function () {
/**
* Результат выполнения кода здесь
* кешируется на 1 час.
*/
return date(DATE_ISO8601);
}
);
use WebArch\BitrixCache\Cache;
$result = Cache::create()
->setPath('/myPath')
->setKey('myKey')
->setTTL(60)
->callback(
function () {
/**
* Результат выполнения этого
* замыкания кешируется.
*/
return date(DATE_ISO8601);
}
);
use WebArch\BitrixCache\Cache;
Cache::create()
->setPath('/myPath')
->delete('myKey');
use WebArch\BitrixCache\Cache;
$result = Cache::create()
->setPath('/myPath')
->addTag('myTag')
->addIblockTag(1)
->callback(
function () {
return date(DATE_ISO8601);
}
);
use WebArch\BitrixCache\Cache;
$cache = Cache::create();
$result = $cache->callback(
function () use($cache) {
$cache->addTag('closureTag');
return date(DATE_ISO8601);
}
);
use WebArch\BitrixCache\Cache;
Cache::create()
->clearByTag('myTag');
use WebArch\BitrixCache\Cache;
$cache = Cache::create();
$result = $cache->callback(
function () use ($cache) {
/**
* Например, API вернул ответ, что товар не найден.
*/
$productNotFound = true;
if($productNotFound){
$cache->abort();
}
return date(DATE_ISO8601);
}
);
use WebArch\BitrixCache\Cache;
$result = Cache::create()
->setTTLInterval(new DateInterval('P1MT15M'))
->callback(
function () {
return date(DATE_ISO8601);
}
);
use WebArch\BitrixCache\Cache;
Cache::create()
->setExpirationTime(new DateTimeImmutable('2020-12-30T23:59:59', new DateTimeZone('+03:00')))
->set('myKey', 'someValue');
use WebArch\BitrixCache\Cache;
$cache = Cache::create()
->setBaseDir('myBaseDir')
->setPath('/myPath');
$cache->set('myKey', 'myValue', 86400);
$result = $cache->get('myKey', 'defaultValue');
$cache->delete('myKey');
$cache->clear();
$cache->setMultiple(
[
'key1' => 'value1',
'key2' => 'value2',
]
);
$multipleResult = $cache->getMultiple(['key1', 'key2', 'key3'], 'defaultValueForMissingMultiple');
$cache->deleteMultiple(['key1', 'key2', 'key3', 'key4']);
/**
* Внимание! Этот метод можно использовать только для прогрева кеша. См. примечание к методу.
*/
$cache->has('key2');
use \WebArch\BitrixCache\AntiStampedeCacheAdapter;
$path = '/some/path';
$defaultLifetime = 60;
$baseDir = 'someBaseDir';
$cacheAdapter = new AntiStampedeCacheAdapter($path, $defaultLifetime, $baseDir);
use \WebArch\BitrixCache\AntiStampedeCacheAdapter;
use \WebArch\BitrixCache\CacheItem;
/** @var AntiStampedeCacheAdapter $cacheAdapter */
$cacheAdapter->get(
'myKey',
function (CacheItem $cacheItem) {
$cacheItem->expiresAfter(3600);
return date(DATE_ISO8601);
}
);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.