andrewsauder / cachesys
该软件包已被废弃且不再维护。未建议替代软件包。
简单PHP缓存系统,用于原始数据或渲染输出。
1.0.2
2017-03-28 20:35 UTC
Requires
- php: ^5.4 || ^7.0
This package is auto-updated.
Last update: 2021-03-26 12:46:14 UTC
README
简单PHP缓存系统,用于原始数据或渲染输出。
安装
Composer是首选的安装方法。https://packagist.org.cn/packages/andrewsauder/cachesys
composer require andrewsauder/cachesys
用法
以下所有示例都将假设您在命名空间内添加了引用cacheSys的use语句。
<?php
namespace MyVendorNamespace;
use andrewsauder;
如果您选择不添加use语句,则必须通过其完全限定类名引用cacheSys方法。例如
\andrewsauder\cacheSys::get( 'cacheName', 'cacheKey' );
检索和创建缓存
这是cacheSys的核心用法。我喜欢将其视为任何降低请求速度的复杂逻辑的包装器。
$employee = cacheSys::get( 'employees', 712 );
if( $employee===false ) {
//do heavy lifting to create $employee
$employee = 'Andrew';
cacheSys::put( 'employees', 712, $employee );
}
var_dump( $employee );
当然,您始终需要确保您的缓存数据保持相关性。为此,您可以使用get方法的max age参数
/* get the cached copy of employee 712
* but return false if the cache was created
* more than 86,400 seconds (24 hours) ago
*/
$employee = cacheSys::get( 'employees', 712, 86400 );
删除缓存项
您还可以根据需要删除特定的缓存项。
cacheSys::deleteCachedItem( 'employees', 712 );
删除缓存类别
或者删除整个缓存类别。例如,如果您想删除所有员工而不是单个员工,您可以直接删除整个类别
cacheSys::deleteCachedCategory( 'employees');