summaryrefslogtreecommitdiff
path: root/vendor/symfony/cache/Traits/RedisClusterNodeProxy.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/symfony/cache/Traits/RedisClusterNodeProxy.php')
-rw-r--r--vendor/symfony/cache/Traits/RedisClusterNodeProxy.php47
1 files changed, 47 insertions, 0 deletions
diff --git a/vendor/symfony/cache/Traits/RedisClusterNodeProxy.php b/vendor/symfony/cache/Traits/RedisClusterNodeProxy.php
new file mode 100644
index 0000000..f5c0baa
--- /dev/null
+++ b/vendor/symfony/cache/Traits/RedisClusterNodeProxy.php
@@ -0,0 +1,47 @@
1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Cache\Traits;
13
14/**
15 * This file acts as a wrapper to the \RedisCluster implementation so it can accept the same type of calls as
16 * individual \Redis objects.
17 *
18 * Calls are made to individual nodes via: RedisCluster->{method}($host, ...args)'
19 * according to https://github.com/phpredis/phpredis/blob/develop/cluster.markdown#directed-node-commands
20 *
21 * @author Jack Thomas <jack.thomas@solidalpha.com>
22 *
23 * @internal
24 */
25class RedisClusterNodeProxy
26{
27 public function __construct(
28 private array $host,
29 private \RedisCluster $redis,
30 ) {
31 }
32
33 public function __call(string $method, array $args)
34 {
35 return $this->redis->{$method}($this->host, ...$args);
36 }
37
38 public function scan(&$iIterator, $strPattern = null, $iCount = null)
39 {
40 return $this->redis->scan($iIterator, $this->host, $strPattern, $iCount);
41 }
42
43 public function getOption($name)
44 {
45 return $this->redis->getOption($name);
46 }
47}