Server IP : 172.67.157.199 / Your IP : 13.59.58.209 [ Web Server : Apache System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64 User : root ( 0) PHP Version : 8.0.30.2 Disable Function : NONE Domains : 0 Domains MySQL : ON | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/wp-content/mu-plugins/object-cache-pro/src/Connections/ |
Upload File : |
<?php /** * Copyright © 2019-2024 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\Connections; use RedisCachePro\Clients\RelayCluster; use RedisCachePro\Configuration\Configuration; /** * Distributed systems are hard. * * @mixin \RedisCachePro\Clients\RelayCluster */ class RelayClusterConnection extends RelayConnection { use Concerns\ClusterConnection; /** * The Redis cluster instance. * * @var \RedisCachePro\Clients\RelayCluster */ protected $client; /** * Create a new Relay cluster connection. * * @param \RedisCachePro\Clients\RelayCluster $client * @param \RedisCachePro\Configuration\Configuration $config */ public function __construct(RelayCluster $client, Configuration $config) { $this->client = $client; $this->config = $config; $this->log = $this->config->logger; $this->setBackoff(); $this->setSerializer(); $this->setCompression(); } /** * Returns the number of keys cached in memory for the current connection. * * @return int|float */ public function keysInMemory() { $stats = $this->memoize('stats'); $endpoints = (array) $this->endpointId(); $keys = 0; foreach ($stats['endpoints'] as $id => $data) { if (in_array($id, $endpoints)) { $keys += array_sum(array_map(function ($connection) { return $connection['keys'][$this->config->database] ?? 0; }, $data['connections'] ?? [])) ?: 0; } } return $keys; } }