Original prefixes of connections */ public $originalPrefixes = []; /** @var Repository */ protected $config; public function __construct(Repository $config) { $this->config = $config; } public function bootstrap(Tenant $tenant) { foreach ($this->prefixedConnections() as $connection) { $prefix = $this->config['tenancy.redis.prefix_base'] . $tenant->getTenantKey(); $client = Redis::connection($connection)->client(); $this->originalPrefixes[$connection] = $client->getOption(\Redis::OPT_PREFIX); $client->setOption(\Redis::OPT_PREFIX, $prefix); } } public function revert() { foreach ($this->prefixedConnections() as $connection) { $client = Redis::connection($connection)->client(); $client->setOption(\Redis::OPT_PREFIX, $this->originalPrefixes[$connection]); } $this->originalPrefixes = []; } protected function prefixedConnections() { return $this->config['tenancy.redis.prefixed_connections']; } }