rundiz / simple-cache
简单易用的PHP缓存驱动,用于缓存任何PHP数据类型。
3.0.1
2023-11-03 06:49 UTC
Requires
- php: >=7.0
- psr/simple-cache: ^1.0
This package is auto-updated.
Last update: 2024-09-03 08:32:05 UTC
README
简单易用的PHP缓存驱动,用于缓存任何PHP数据类型。它实现了PSR-16。
安装
确保已安装Composer,然后运行以下命令。
composer require rundiz/simple-cache
示例
我们目前支持APC、APCu、Memcache、Memcached、文件系统驱动。以下是每个驱动类的初始化方式。
// For Memcache driver $memcache = new \Memcache; $memcache->connect('localhost', 11211) or die ("Could not connect"); $SimpleCache = new \Rundiz\SimpleCache\Drivers\Memcached($memcache); unset($memcache); // For Memcached driver $memcached = new \Memcached; $memcached->addServer('localhost', 11211) or die ("Could not connect"); $SimpleCache = new \Rundiz\SimpleCache\Drivers\Memcached($memcached); unset($memcached); // For APC (deprecated, use APCu instead). $SimpleCache = new \Rundiz\SimpleCache\Drivers\Apc(); // For APCu $SimpleCache = new \Rundiz\SimpleCache\Drivers\Apcu(); // For File system (very basic cache driver) $SimpleCache = new \Rundiz\SimpleCache\Drivers\FileSystem(); // For memory cache (This is using PHP array, if class was unset everything will be removed) $SimpleCache = new \Rundiz\SimpleCache\Drivers\Memory();
获取、设置、删除或其他常见方法,请参阅PSR-16 文档。
示例。
// To get or fetch cache data. $SimpleCache->get('cache_key'); // To get multiple cache data. $SimpleCache->getMultiple(['cache_key1', 'cache_key2']); // To check cache exists. $SimpleCache->has('cache_key'); // To save cache data. $SimpleCache->set('cache_key', 'cache data. (any type of data... string, integer, double, array, object, etc.)', 90); // To save multiple cache data. $SimpleCache->setMultiple([ 'cache_key1' => 'string value', 'cache_key2' => 12345, ], 90); // To delete cache. $SimpleCache->delete('cache_key'); // To delete multiple cache. $SimpleCache->deleteMultiple(['cache_key1', 'cache_key2']); // To clear all cached. $SimpleCache->clear();
后备缓存驱动
您可以为后备设置多个缓存驱动,以防服务器上未安装某些驱动。
if (class_exists('\\Memcached')) { $memcached = new \Memcached; $memcached->addServer('localhost', 11211) or die ("Could not connect"); $SimpleCache = new \Rundiz\SimpleCache\Drivers\Memcached($memcached); unset($memcached); } elseif (class_exists('\\Memcache')) { $memcache = new \Memcache; $memcache->connect('localhost', 11211) or die ("Could not connect"); $SimpleCache = new \Rundiz\SimpleCache\Drivers\Memcached($memcache); unset($memcache); } elseif (function_exists('apcu_fetch')) { $SimpleCache = new \Rundiz\SimpleCache\Drivers\Apcu(); } else { $SimpleCache = new \Rundiz\SimpleCache\Drivers\FileSystem(); }
文件系统缓存的命名空间/子文件夹
在文件系统缓存中,您只需在缓存ID中添加 "."(点)即可使用命名空间或子文件夹。
例如: $SimpleCache->set('Model.Accounts.id1', $userdata, 120);
。
这将把缓存文件保存到 Model/Accounts/id1 文件夹。