popphp/pop-cache

Pop PHP 框架的 Pop Cache 组件

4.0.0 2023-12-18 17:28 UTC

README

Build Status Coverage Status

Join the chat at https://popphp.slack.com Join the chat at https://discord.gg/TZjgT74U7E

概述

pop-cache 通过多个不同的适配器提供缓存频繁访问内容的能力。这些适配器都共享相同的接口,并且可以互换使用。根据服务器环境和可用资源,应用程序可以使用以下任何一个缓存适配器:

  • Apc (缓存服务)
  • Memcached (缓存服务)
  • Redis (缓存服务)
  • 文件 (磁盘上的目录)
  • 数据库 (数据库缓存)
  • 会话 (会话中的短期缓存)

pop-cachePop PHP 框架 的一个组件。

顶部

安装

使用 Composer 安装 pop-cache

composer require popphp/pop-cache

或者,在您的 composer.json 文件中添加依赖

"require": {
    "popphp/pop-cache" : "^4.0.0"
}

顶部

快速入门

以下是一个基本示例,演示如何创建一个缓存对象,然后从中保存和检索一些数据。可以传递一个“生存时间”(TTL)值给适配器,单位是秒。如果设置为 0,则缓存项将永远不会过期

use Pop\Cache\Cache;
use Pop\Cache\Adapter\File;

// Passing the file adapter the location on disk and the TTL
$cache = new Cache(new Adapter\File('/path/to/my/cache/dir', 300));

$cache->saveItem('foo', $data);

$data = $cache->getItem('foo');

检查缓存中是否有项目

if $cache->hasItem('foo') { } // Return bool

删除项目

$cache->deleteItem('foo');

删除项目

$cache->deleteItems(['foo', 'bar']);

清空缓存中的所有项目

$cache->clear();

顶部

APC

使用 APC 适配器需要在环境中正确设置 APC。

use Pop\Cache\Cache;
use Pop\Cache\Adapter\Apc;

$cache = new Cache(new Apc(300));

顶部

Memcached

使用 Memcached 适配器需要在环境中正确设置 Memcached。

use Pop\Cache\Cache;
use Pop\Cache\Adapter\Memcached;

$cache = new Cache(new Memcached(300, 'localhost', 11211));

顶部

Redis

使用 Redis 适配器需要在环境中正确设置 Redis。

use Pop\Cache\Cache;
use Pop\Cache\Adapter\Redis;

$cache = new Cache(new Redis(300, 'localhost', 6379));

顶部

文件

使用文件适配器将简单地将在本地磁盘上存储缓存数据。

use Pop\Cache\Cache;
use Pop\Cache\Adapter\File;

$cache = new Cache(new Adapter\File('/path/to/my/cache/dir', 300));

顶部

数据库

使用数据库适配器需要正确设置数据库并使用 pop-db 组件。

use Pop\Cache\Cache;
use Pop\Cache\Adapter\Database;
use Pop\Db\Db;

$cache = new Cache(
    new Database(Db::sqliteConnect(['database' => __DIR__ . '/tmp/cache.sqlite']), 300)
);

顶部

会话

使用会话适配器将缓存数据存储在会话中

use Pop\Cache\Cache;
use Pop\Cache\Adapter\Session;

$cache = new Cache(new Session(300));

顶部