几种缓存,需要用到前端配置,加后端实例配合着用

片段缓存:

public function indexAction()
{
//渲染页面
$this->view->setTemplateAfter('common'); //缓存片段
//前端配置
$frontcache = new \Phalcon\Cache\Frontend\Output(array(
"lifetime" => 86400
));
      //后端处理
$cache = new \Phalcon\Cache\Backend\File($frontcache, array(
"cacheDir" => "../app/cache/"
));
//查询片段是否存在
$content = $cache->start("index.pthm");
if ($content == null) { echo date("r");
$this->view->pick("index/index"); //缓存片段
$cache->save(); } else {
echo $content;
} }

  

文件缓存:

public function lastAction()
{
//数据缓存
//前端配置
$frontcache = new \Phalcon\Cache\Frontend\Data(array(
"lifetime"=>86400
));
//后端实例
$cache = new \Phalcon\Cache\Backend\File($frontcache, array(
'cacheDir'=>'../app/cache/'
));
$cacheKey = 'customer_10';
$customer = $cache->get($cacheKey);
//在3600有效期内读取缓存
// $customer = $cache->get($cacheKey, 3600);
if($customer == null)
{
$customer = \SysCustomer::find(array(
"limit"=>10
))->toArray();
//保存缓存
$cache->save($cacheKey, $customer);
//单独设置缓存的有效期
// $cache->save($cacheKey, $customer,3600);
}
var_dump($customer);
}

  

注意:MainTask.php

如果你是命令行运行MainTask.php,在用文件缓存的时候,如果设置的是cacheDIR='/',以windows为例,我的php盘是f:\,那么生成的缓存文件在 f:\ 根目录下

memcache缓存,本例是windows下:

public function memcacheAction()
{
//memcache缓存
//前端配置有效期
$frontcache = new \Phalcon\Cache\Frontend\Data(array(
"lifetime"=>86400
));
//后端实例化
$memcache = new \Phalcon\Cache\Backend\Memcache($frontcache, array(
"servers" => array(
array(
"host" => "127.0.0.1",
"port" => "11211",
"weight" => "1"
)
)
)); $mydata = $memcache->get('my-data');
if($mydata == null) {
$mydata = array(1,2,3,4,5);
//保存缓存
$memcache->save('my-data', $mydata);
echo "--";
}
var_dump($mydata); }

  

phalcon: 缓存片段,文件缓存,memcache缓存的更多相关文章

  1. 记录一次读取memcache缓存的优化

    我们是用mvc做web,大部分数据都用memcache做了缓存 有2台memcache缓存服务器 数据并不大. 某页面响应较慢,大概在4s左右. 页面本身很简单只是显示一个表单. 但是layout相对 ...

  2. linux 中的页缓存和文件 IO

    本文所述是针对 linux 引入了虚拟内存管理机制以后所涉及的知识点.linux 中页缓存的本质就是对于磁盘中的部分数据在内存中保留一定的副本,使得应用程序能够快速的读取到磁盘中相应的数据,并实现不同 ...

  3. windows下ThinkPHP3.2.3使用memcache缓存

    准备 要使用memcache,首先要安装配置好memcache服务memcached: 下载http://downloads.northscale.com/memcached-win64-1.4.4- ...

  4. memcached基于socket访问memcache缓存服务器

    memcached基于socket访问memcache缓存服务器 操作memcache常用三种方法: .memcache基于php_memcache.dll扩展(php扩展) .memcached基于 ...

  5. 01-08-05【Nhibernate (版本3.3.1.4000) 出入江湖】NHibernate二级缓存:第三方MemCache缓存

    一.准备工作 [1]根据操作系统(位数)选择下载相应版本的MemCache, MemCache的下载和安装,参看: http://www.cnblogs.com/easy5weikai/p/37606 ...

  6. spring memcache 缓存

    application-cache.xml的配置 在web.xml中引入了这个配置文件 <context-param> <param-name>contextConfigLoc ...

  7. memcache缓存安装配置

    memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.目前用memcache解决互联网上的大用户读取是非常流行的一种用法. 下载安装 前提要先安装libev ...

  8. DedeCMS V5.7开启memcache缓存的方法配置说明

    一.安装Memcache服务:1.1.linux下的Memcache安装:-------------------------1. 下载 memcache的linux版本,注意 memcached 用 ...

  9. Windows服务器安装Memcache缓存服务及PHP扩展

    一.Windows服务器安装Memcache缓存服务,需要下载windows稳定版Memcache程序memcached.zip,下载后解压到自定义服务目录,如D:\phpStudy\tools\me ...

随机推荐

  1. COM技术の组件

    什么是COM COM,Component Object Mode即组件对象模型.之所以称之为“模型”,是表明COM是一种编程规范(非具体代码),通过这种规范我们能够编写出语言无关的,可扩展的,内部变化 ...

  2. 解决maven的“Dynamic Web Module 3.0 requires Java 1.6 or newer.”错误

    需要添加一个插件,在build标签中添加 <plugins> <plugin> <groupId>org.apache.maven.plugins</grou ...

  3. HTML DOM简介

    HTML DOM简介 1.当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model),HTML DOM模型被创建为对象的树.如下所示: 2.通过可编程的对象模型,Ja ...

  4. .Net操作.exe文件

    Process proc = new Process(); proc.StartInfo.FileName = @"D:\Program Files\Foxmail\Foxmail.exe& ...

  5. iOS深入学习(UITableView系列2:reloadData)

    接着前一篇的博客来深入学习UITableView, UITableView的数据源是NSMutableArray的对象_infoArray,现在数组的内容为{@"Zero",@&q ...

  6. FZU 2148 Moon Game

    Moon Game Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit St ...

  7. Oracle重置过期的密码

    过期的原因一般有两种可能: 一.由于Oracle 11g在默认的default概要文件中设置了“PASSWORD_LIFE_TIME=180”天导致:   这种情况的解决办法: 1.查看用户的proi ...

  8. c#扩展方法的理解(二:接口)

    namespace ExtensionInterfaceMethod { class Program { static void Main(string[] args) { //使用接口变量来调用扩展 ...

  9. Beaglebone Black–GPIO 开关 LED(三极管与继电器实验)

    上一篇,用 GPIO 直接供电给 LED,用高低电平作开关,不靠谱.GPIO 是信号用的,不是当电源用的.而且,一个 GPIO 只能给可怜的 5mA 左右,取多了会烧(我没烧过不知道是不是真的会烧,但 ...

  10. linux包的相关命令

    apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明.大小.版本等 sudo apt-get install package ...