缓存系统

Viswoole 缓存系统提供统一的数据缓存接口,支持多种存储后端,通过 Cache 门面 提供便捷的静态调用方式。

核心特性

  • 多驱动支持:内置 File(文件)、Redis 驱动,支持自定义扩展
  • 标签分组:通过缓存标签对数据进行逻辑分组,支持批量清除
  • 竞争锁:内置分布式锁机制,适用于高并发场景
  • 连接池:Redis 驱动原生支持协程级连接池管理
  • 门面模式:无需依赖注入,全局静态调用

文档导航

文档说明
使用方法缓存基本操作与常用 API
缓存驱动File / Redis 驱动配置与使用
缓存标签标签分组与批量清除机制

快速开始

php
use Viswoole\Cache\Facade\Cache;

// 写入缓存
Cache::set('user:1', ['name' => '张三', 'age' => 25], 3600);

// 读取缓存
$user = Cache::get('user:1');

// 判断是否存在
if (Cache::has('user:1')) {
    // 缓存存在
}

// 删除缓存
Cache::delete('user:1');

架构概览

text
┌─────────────────────────────────────────┐
│            Cache Facade(门面)           │
├─────────────────────────────────────────┤
│           CacheManager(管理器)          │
├──────────┬──────────────┬───────────────┤
│  File    │    Redis     │     Tag       │
│ (文件) │  (Redis)   │   (标签)     │
└──────────┴──────────────┴───────────────┘

配置文件

缓存配置位于 config/cache.php

php
return [
    // 默认驱动
    'default' => env('cache.store', 'file'),
    // 驱动列表
    'stores' => [
        'file' => Cache::FILE_DRIVER,
        // 'redis' => Cache::REDIS_DRIVER,
    ]
];