个性化阅读
专注于IT技术分析

Phalcon使用缓存

本文概述

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

什么时候实现Cache?

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

缓存过程分为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
赞(0)
未经允许不得转载:srcmini » Phalcon使用缓存

评论 抢沙发

评论前必须登录!