File: //var/www/wp-content/mu-plugins/object-cache-pro/src/ObjectCaches/ObjectCacheInterface.php
<?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\ObjectCaches;
use RedisCachePro\Configuration\Configuration;
use RedisCachePro\Connections\ConnectionInterface;
interface ObjectCacheInterface
{
/**
* Boots the cache.
*
* @return bool
*/
public function boot(): bool;
/**
* Returns the configuration instance.
*
* @return \RedisCachePro\Configuration\Configuration
*/
public function config(): Configuration;
/**
* Returns the connection instance.
*
* @return \RedisCachePro\Connections\ConnectionInterface|null
*/
public function connection(): ?ConnectionInterface; // phpcs:ignore PHPCompatibility.FunctionDeclarations.NewNullableTypes.returnTypeFound
/**
* Adds data to the cache, if the cache key doesn't already exist.
*
* @param int|string $key
* @param mixed $data
* @param string $group
* @param int $expire
* @return bool
*/
public function add($key, $data, string $group = 'default', int $expire = 0): bool;
/**
* Adds multiple values to the cache in one call, if the cache keys doesn't already exist.
*
* @param array<int|string, mixed> $data
* @param string $group
* @param int $expire
* @return array<int|string, bool>
*/
public function add_multiple(array $data, string $group = 'default', int $expire = 0): array;
/**
* Set given groups as global.
*
* @param array<string> $groups
* @return void
*/
public function add_global_groups(array $groups);
/**
* Set given groups as non-persistent.
*
* @param array<string> $groups
* @return void
*/
public function add_non_persistent_groups(array $groups);
/**
* Set given groups as non-prefetchable.
*
* @param array<string> $groups
* @return void
*/
public function add_non_prefetchable_groups(array $groups);
/**
* Closes the cache.
*
* @return bool
*/
public function close(): bool;
/**
* Decrements numeric cache item's value.
*
* @param int|string $key
* @param int $offset
* @param string $group
* @return int|false
*/
public function decr($key, int $offset = 1, string $group = 'default');
/**
* Removes the cache contents matching key and group.
*
* @param int|string $key
* @param string $group
* @return bool
*/
public function delete($key, string $group = 'default'): bool;
/**
* Deletes multiple values from the cache in one call.
*
* @param array<int|string> $keys
* @param string $group
* @return array<int|string, bool>
*/
public function delete_multiple(array $keys, string $group = 'default'): array;
/**
* Removes all cache items.
*
* @return bool
*/
public function flush(): bool;
/**
* Removes all cache items from the in-memory runtime cache.
*
* @return bool
*/
public function flush_runtime(): bool;
/**
* Removes all cache items given group.
*
* @param string $group
* @return bool
*/
public function flush_group(string $group): bool;
/**
* Retrieves the cache contents from the cache by key and group.
*
* @param int|string $key
* @param string $group
* @param bool $force
* @param bool &$found
* @return mixed|false
*/
public function get($key, string $group = 'default', bool $force = false, &$found = null);
/**
* Retrieves multiple values from the cache in one call.
*
* @param array<int|string> $keys
* @param string $group
* @param bool $force
* @return array<int|string, mixed>
*/
public function get_multiple(array $keys, string $group = 'default', bool $force = false);
/**
* Whether the key exists in the cache.
*
* @param int|string $key
* @param string $group
* @return bool
*/
public function has($key, string $group = 'default'): bool;
/**
* Increment numeric cache item's value.
*
* @param int|string $key
* @param int $offset
* @param string $group
* @return int|false
*/
public function incr($key, int $offset = 1, string $group = 'default');
/**
* Replaces the contents of the cache with new data.
*
* @param int|string $key
* @param mixed $data
* @param string $group
* @param int $expire
* @return bool
*/
public function replace($key, $data, string $group = 'default', int $expire = 0): bool;
/**
* Saves the data to the cache.
*
* @param int|string $key
* @param mixed $data
* @param string $group
* @param int $expire
* @return bool
*/
public function set($key, $data, string $group = 'default', int $expire = 0): bool;
/**
* Sets multiple values to the cache in one call.
*
* @param array<int|string, mixed> $data
* @param string $group
* @param int $expire
* @return array<int|string, bool>
*/
public function set_multiple(array $data, string $group = 'default', int $expire = 0): array;
/**
* Switches the internal blog ID.
*
* @param int $blog_id
* @return bool
*/
public function switch_to_blog(int $blog_id): bool;
}