PATH:
home
/
sudairsocs
/
www
/
forum
/
Sources
/
Cache
/
APIs
<?php /** * Simple Machines Forum (SMF) * * @package SMF * @author Simple Machines https://www.simplemachines.org * @copyright 2022 Simple Machines and individual contributors * @license https://www.simplemachines.org/about/smf/license.php BSD * * @version 2.1.0 */ namespace SMF\Cache\APIs; use SMF\Cache\CacheApi; use SMF\Cache\CacheApiInterface; if (!defined('SMF')) die('No direct access...'); /** * Our Cache API class * * @package CacheAPI */ class Apcu extends CacheApi implements CacheApiInterface { /** * {@inheritDoc} */ public function isSupported($test = false) { $supported = function_exists('apcu_fetch') && function_exists('apcu_store'); if ($test) return $supported; return parent::isSupported() && $supported; } /** * {@inheritDoc} */ public function connect() { return true; } /** * {@inheritDoc} */ public function getData($key, $ttl = null) { $key = $this->prefix . strtr($key, ':/', '-_'); $value = apcu_fetch($key . 'smf'); return !empty($value) ? $value : null; } /** * {@inheritDoc} */ public function putData($key, $value, $ttl = null) { $key = $this->prefix . strtr($key, ':/', '-_'); // An extended key is needed to counteract a bug in APC. if ($value === null) return apcu_delete($key . 'smf'); else return apcu_store($key . 'smf', $value, $ttl !== null ? $ttl : $this->ttl); } /** * {@inheritDoc} */ public function cleanCache($type = '') { $this->invalidateCache(); return apcu_clear_cache(); } /** * {@inheritDoc} */ public function getVersion() { return phpversion('apcu'); } } ?>
[+]
..
[-] Sqlite.php
[edit]
[-] FileBased.php
[edit]
[-] MemcacheImplementation.php
[edit]
[-] Postgres.php
[edit]
[-] Zend.php
[edit]
[-] Apcu.php
[edit]
[-] MemcachedImplementation.php
[edit]