本文概述
缓存是在Phalcon \ Cache目录下找到的类。它有助于以更快的速度访问常用数据。 Phalcon \ Cache用C编程语言编写, 可减少开销。
什么时候实现Cache?
- 当我们经常使用复杂的计算时, 会返回相同的结果。
- 当我们使用许多助手时, 生成的输出总是相同的。
- 当我们不断访问数据库数据时, 其数据很少更改。
缓存过程分为2部分:
1)前端:前端检查密钥是否已过期。在存储之前和从后端检索数据之后, 还应对数据进行其他转换。
2)后端:后端部分负责通信, 读取或写入前端所需的数据。
实作
下面的代码通过实现前端和后端适配器, 提供了2天缓存的基本缓存过程。
<?php
use Phalcon\Cache\Backend\File as BackFile;
use Phalcon\Cache\Frontend\Data as FrontData;
// Create an Output frontend. Cache the files for 2 days
$frontCache = new FrontData(
[
'lifetime' => 172800, ]
);
// Create the component that will cache from the 'Output' to a 'File' backend
// Set the cache file directory - it's important to keep the '/' at the end of
// the value for the folder
$cache = new BackFile(
$frontCache, [
'cacheDir' => '../app/cache/', ]
);
?>
前端适配器
Adapter | Description |
---|---|
Phalcon\Cache\Frontend\Output | 从标准PHP输出读取输入数据。 |
Phalcon\Cache\Frontend\Data | 它用于缓存任何类型的PHP数据(大数组, 对象, 文本等)。数据先序列化, 然后再存储在后端。 |
Phalcon\Cache\Frontend\Base64 | 它用于缓存二进制数据。使用base64_encode序列化数据, 然后将其存储在后端。 |
Phalcon\Cache\Frontend\Json | 数据先以JSON编码, 然后再存储在后端。检索后解码。该前端对于与其他语言或框架共享数据很有用。 |
Phalcon\Cache\Frontend\Igbinary | 它用于缓存任何类型的PHP数据(大数组, 对象, 文本等)。数据先使用Igbinary序列化, 然后再存储在后端中。 |
Phalcon\Cache\Backend\Xcache | 将数据存储在XCache中。 |
Phalcon\Cache\Backend\None | 它用于缓存任何类型的PHP数据而无需对其进行序列化。 |
后端适配器
Adapter | Description | Info | 所需的扩展名 |
---|---|---|---|
Phalcon\Cache\Backend\Apc | 将数据存储到备用PHP缓存(APC)。 | APC | APC |
Phalcon\Cache\Backend\Apcu | 将数据存储到APCu(不带操作码缓存的APC) | APCu | APCu |
Phalcon\Cache\Backend\File | 将数据存储到本地普通文件 | ||
Phalcon\Cache\Backend\Mongo | 将数据存储到Mongo数据库。 | MongoDB | MongoDB |
Phalcon\Cache\Backend\Redis | 将数据存储在Redis中 | Redis | Redis |
Phalcon\Cache\Backend\Xcache | 将数据存储在XCache中。 | XCache | XCache |
Phalcon\Cache\Backend\Memcache | 将数据存储到内存缓存服务器。 | Memcache | Memcache |
评论前必须登录!
注册