andrewsauder/cachesys

该软件包已被废弃且不再维护。未建议替代软件包。

简单PHP缓存系统,用于原始数据或渲染输出。

1.0.2 2017-03-28 20:35 UTC

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');