缓存

2024 年 8 月 29 日 | 阅读 2 分钟

缓存是位于 Phalcon\Cache 目录下的一个类。 它有助于以更快的速度访问经常使用的数据。 Phalcon\Cache 是用 C 编程语言编写的,可减少开销。

何时实施缓存?

  1. 当我们经常使用返回相同结果的复杂计算时。
  2. 当我们使用许多助手并且生成的输出始终相同时。
  3. 当我们不断访问数据库数据并且其数据很少更改时。

缓存过程分为 2 个部分

1) 前端: 前端检查密钥是否已过期。 还在存储之前和从后端检索之后对数据执行其他转换。

2) 后端: 后端部分负责通信、读取或写入前端所需的数据。

实施

以下代码通过实现前端和后端适配器提供 2 天缓存的基本缓存过程。


前端适配器

适配器描述
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 数据,而无需对其进行序列化。

后端适配器

适配器描述信息必需扩展
Phalcon\Cache\Backend\Apc将数据存储到 Alternative PHP Cache (APC)。APCAPC
Phalcon\Cache\Backend\Apcu将数据存储到 APCu(没有 opcode 缓存的 APC)APCuAPCu
Phalcon\Cache\Backend\File将数据存储到本地纯文本文件
Phalcon\Cache\Backend\Mongo将数据存储到 Mongo 数据库。MongoDBMongoDB
Phalcon\Cache\Backend\Redis将数据存储在 Redis 中RedisRedis
Phalcon\Cache\Backend\Xcache将数据存储在 XCache 中。XCacheXCache
Phalcon\Cache\Backend\Memcache将数据存储到 memcached 服务器。MemcacheMemcache

下一个主题Phalcon 配置