Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Zend框架中使用缓存_Php_Zend Framework_Caching - Fatal编程技术网

Php 在Zend框架中使用缓存

Php 在Zend框架中使用缓存,php,zend-framework,caching,Php,Zend Framework,Caching,有人能简单地告诉我在Zend Framework 1.x中添加缓存/启用缓存吗?i、 e.可理解且易于实施的解决方案。谢谢。设置缓存: $frontend= array( 'lifetime' => 60, 'automatic_serialization' => true ); $backend= array( 'cache_dir' => 'D:\cache', ); $cache = Zend_Cache::factory('core', 'F

有人能简单地告诉我在Zend Framework 1.x中添加缓存/启用缓存吗?i、 e.可理解且易于实施的解决方案。谢谢。

设置缓存:

$frontend= array(
    'lifetime' => 60,
    'automatic_serialization' => true
);

$backend= array(
    'cache_dir' => 'D:\cache',
);

$cache = Zend_Cache::factory('core', 'File', $frontend, $backend );
Zend_Registry::set('cache',$cache);
使用此选项可设置:

private function setCached($key, $data)
{
    $cache = Zend_Registry::get('cache');
    $cache->save($data, $key);
}
使用此选项可以获得:

private function getCached($key)
{
    $cache = Zend_Registry::get('cache');
    if(!$result = $cache->load($key)) 
    {
        return false;
    } 
    else 
    {
        return $result;
    }
}

Zend Cache提供了一种在缓存中存储数据并提高速度的非常简单的方法。 Zend使用前端和后端进行缓存。 前端用于访问或操作缓存。 后端用于将数据存储在文件、Memcache、Sqlite等中

首先,通过在引导文件中创建on函数来初始化引导文件中的前置和备份

受保护函数_initCache(){

然后使用zend缓存工厂定义缓存对象。 参数core定义泛型类型的zend cache core方法 文件参数用于定义缓存的存储方式,用于存储缓存的记录 第二个和第四个是前端和后端

现在使用zend注册表注册该缓存阵列,以便您可以使用任何控制器、模型等中的缓存阵列

在要使用数据缓存的任何控制器或任何模型中定义以下代码

    $result1 =””;
    $cache = Zend_Registry::get('cache');

if(!$result1 = $cache->load('mydata')) {
        echo 'caching the data…..';
    $data=array(1,2,3);
    $cache->save($data, 'mydata');
} else {
    echo 'retrieving cache data…….';
    Zend_Debug::dump($result1);
}
首先,在上面的代码中,我们得到了缓存数组。 现在,如果未设置结果1,则“缓存完成”意味着在后端数组中定义的路径上生成文件

下次页面加载时,将从缓存数据存储的文件中检索该数据

您可以按照定义的路径检查文件

在该文件中,数据是json格式的

    $result1 =””;
    $cache = Zend_Registry::get('cache');

if(!$result1 = $cache->load('mydata')) {
        echo 'caching the data…..';
    $data=array(1,2,3);
    $cache->save($data, 'mydata');
} else {
    echo 'retrieving cache data…….';
    Zend_Debug::dump($result1);
}