Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/location/lib/common/ |
Upload File : |
<?php namespace Bitrix\Location\Common; use Bitrix\Main\Data; use Bitrix\Main\EventManager; /** * Class CachePool * @package Bitrix\Location\Common * todo: race condition? */ abstract class Cache { /** @var Data\Cache */ protected $cache; /** * CachePool constructor. * @param int $ttl * @param string $cacheId * @param Data\Cache $cache * @param EventManager $eventManager */ public function __construct(int $ttl, string $cacheId, Data\Cache $cache, EventManager $eventManager) { $cacheDir = '/location'; $this->cache = $cache; if($this->cache->initCache($ttl, $cacheId, $cacheDir)) { $this->loadDataFromCache(); } $eventManager->addEventHandler('main', 'OnAfterEpilog', [$this, 'saveDataToCache']); } abstract protected function loadDataFromCache(): void; abstract public function saveDataToCache(): void; }