Skip to content

缓存

系统缓存分为:业务缓存类,通用缓存类,ThinkPHP缓存类。
这样调用清除缓存接口才不会清除用户、会员token缓存。
最终都是调用 ThinkPHP 缓存。

业务缓存类

业务:根据业务功能添加缓存类。
例子:内容管理 app\common\cache\content\ContentCache,内容缓存操作调用此类。
系统提供了缓存基类 app\common\cache\BaseCache,业务缓存类继承基类即可。

php
<?php
namespace app\common\cache\content;
use app\common\cache\BaseCache;
/**
 * 内容管理缓存
 */
class ContentCache extends BaseCache
{
    // 缓存标签
    public $tag = 'content';

    // 缓存前缀
    protected $prefix = 'content:';

    // 缓存有效时间(秒,0永久)
    protected $expire = 43200;

    // 构造函数
    function __construct()
    {
        $this->tag($this->tag);
        $this->prefix($this->prefix);
        $this->expire($this->expire);
    }
}

通用缓存类

通用:app\common\cache\Cache; 用法和 ThinkPHP 缓存使用一致。
例子:app\common\service\utils\Utils。

ThinkPHP缓存类

直接调用 ThinkPHP 缓存类 think\facade\Cache,调用清除缓存接口将不会被清除。
调用 think\facade\Cache::clear() 方法将清空所有缓存;

注意

如果缓存类型和队列驱动类型都使用了 redis,请不要使用相同 db。否则清除缓存可能使队列丢失。

Apache-2.0 License