3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
15 * @copyright CiviCRM LLC https://civicrm.org/licensing
16 * CRM_Utils_Cache_Interface is a long-standing interface used within CiviCRM
17 * for interacting with a cache service. In style and substance, it is extremely
18 * similar to PHP-FIG's SimpleCache interface (PSR-16). Consequently, beginning
19 * with CiviCRM v5.4, this extends \Psr\SimpleCache\CacheInterface.
21 * @see https://www.php-fig.org/psr/psr-16/
23 interface CRM_Utils_Cache_Interface
extends \Psr\SimpleCache\CacheInterface
{
26 * Set the value in the cache.
30 * @param null|int|\DateInterval $ttl
33 public function set($key, $value, $ttl = NULL);
36 * Get a value from the cache.
39 * @param mixed $default
41 * The previously set value value, or $default (NULL).
43 public function get($key, $default = NULL);
46 * Delete a value from the cache.
51 public function delete($key);
54 * Delete all values from the cache.
56 * NOTE: flush() and clear() should be aliases. flush() is specified by
57 * Civi's traditional interface, and clear() is specified by PSR-16.
63 public function flush();
66 * Delete all values from the cache.
68 * NOTE: flush() and clear() should be aliases. flush() is specified by
69 * Civi's traditional interface, and clear() is specified by PSR-16.
74 public function clear();
77 * Determines whether an item is present in the cache.
79 * NOTE: It is recommended that has() is only to be used for cache warming type purposes
80 * and not to be used within your live applications operations for get/set, as this method
81 * is subject to a race condition where your has() will return true and immediately after,
82 * another script can remove it making the state of your app out of date.
84 * @param string $key The cache item key.
88 public function has($key);