Server IP : 162.213.251.208 / Your IP : 3.22.75.223 Web Server : LiteSpeed System : Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : jmoroovq ( 1890) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/jmoroovq/mariowesser.com/wp-content/mu-plugins/object-cache-pro/src/ObjectCaches/ |
Upload File : |
<?php /** * Copyright © 2019-2023 Rhubarb Tech Inc. All Rights Reserved. * * The Object Cache Pro Software and its related materials are property and confidential * information of Rhubarb Tech Inc. Any reproduction, use, distribution, or exploitation * of the Object Cache Pro Software and its related materials, in whole or in part, * is strictly forbidden unless prior permission is obtained from Rhubarb Tech Inc. * * In addition, any reproduction, use, distribution, or exploitation of the Object Cache Pro * Software and its related materials, in whole or in part, is subject to the End-User License * Agreement accessible in the included `LICENSE` file, or at: https://objectcache.pro/eula */ declare(strict_types=1); namespace RedisCachePro\ObjectCaches; use RedisCachePro\Connections\RelayConnection; use RedisCachePro\Configuration\Configuration; class RelayObjectCache extends PhpRedisObjectCache { /** * The connection instance. * * @var \RedisCachePro\Connections\RelayConnection */ protected $connection; /** * Create new Relay object cache instance. * * @param \RedisCachePro\Connections\RelayConnection $connection * @param \RedisCachePro\Configuration\Configuration $config * @param ?\RedisCachePro\ObjectCaches\ObjectCacheMetrics $metrics */ public function __construct( RelayConnection $connection, Configuration $config, ?ObjectCacheMetrics $metrics = null ) { $this->setup($config, $connection, $metrics); if ($config->relay->listeners && $connection->hasInMemoryCache()) { $this->connection->onInvalidated( [$this, 'invalidated'], $config->prefix ? "{$config->prefix}*" : null ); $this->connection->onFlushed( [$this, 'flushed'] ); } } /** * Callback for the `invalidated` event to keep the in-memory cache in sync. * * @param \Relay\Event $event * @return void */ public function invalidated($event) { $bits = explode(':', $event->key); $this->deleteFromMemory(...array_reverse(array_splice($bits, -2))); } /** * Callback for the `flushed` event to keep the in-memory cache fresh. * * @return void */ public function flushed() { $this->flush_runtime(); } /** * Returns various information about the object cache. * * @return object */ public function info() { $info = parent::info(); $stats = $this->connection->memoize('stats'); $meta = [ 'Relay Cache' => 'Disabled', ]; if ($this->connection->hasInMemoryCache()) { $meta = [ 'Relay Cache' => 'Enabled', 'Relay Memory' => sprintf( '%s of %s', size_format($stats['memory']['active'], 2), size_format($stats['memory']['total'], 2) ), 'Relay Eviction' => (string) ini_get('relay.eviction_policy'), ]; } $info->meta = $meta + $info->meta; return $info; } }