phalcon: 缓存片段,文件缓存,memcache缓存
几种缓存,需要用到前端配置,加后端实例配合着用
片段缓存:
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缓存的更多相关文章
- 记录一次读取memcache缓存的优化
我们是用mvc做web,大部分数据都用memcache做了缓存 有2台memcache缓存服务器 数据并不大. 某页面响应较慢,大概在4s左右. 页面本身很简单只是显示一个表单. 但是layout相对 ...
- linux 中的页缓存和文件 IO
本文所述是针对 linux 引入了虚拟内存管理机制以后所涉及的知识点.linux 中页缓存的本质就是对于磁盘中的部分数据在内存中保留一定的副本,使得应用程序能够快速的读取到磁盘中相应的数据,并实现不同 ...
- windows下ThinkPHP3.2.3使用memcache缓存
准备 要使用memcache,首先要安装配置好memcache服务memcached: 下载http://downloads.northscale.com/memcached-win64-1.4.4- ...
- memcached基于socket访问memcache缓存服务器
memcached基于socket访问memcache缓存服务器 操作memcache常用三种方法: .memcache基于php_memcache.dll扩展(php扩展) .memcached基于 ...
- 01-08-05【Nhibernate (版本3.3.1.4000) 出入江湖】NHibernate二级缓存:第三方MemCache缓存
一.准备工作 [1]根据操作系统(位数)选择下载相应版本的MemCache, MemCache的下载和安装,参看: http://www.cnblogs.com/easy5weikai/p/37606 ...
- spring memcache 缓存
application-cache.xml的配置 在web.xml中引入了这个配置文件 <context-param> <param-name>contextConfigLoc ...
- memcache缓存安装配置
memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.目前用memcache解决互联网上的大用户读取是非常流行的一种用法. 下载安装 前提要先安装libev ...
- DedeCMS V5.7开启memcache缓存的方法配置说明
一.安装Memcache服务:1.1.linux下的Memcache安装:-------------------------1. 下载 memcache的linux版本,注意 memcached 用 ...
- Windows服务器安装Memcache缓存服务及PHP扩展
一.Windows服务器安装Memcache缓存服务,需要下载windows稳定版Memcache程序memcached.zip,下载后解压到自定义服务目录,如D:\phpStudy\tools\me ...
随机推荐
- 如何查看tensorflow版本与存储位置
import tensorflow as tf tf.__version__ __看着是一个下划线,实际上是两个下划线,中间有空格 tf.__path_
- hdu 3037 Saving Beans
Saving Beans Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- CentOS 安装Redis
redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcached类似,但很大程度补偿了memcached的不足,它支持存储的value类型相对更多,包括strin ...
- NSIS学习记录の----NSIS插件调用
我们都知道NSIS可以和C或者C++混合编程,方法是NSIS调用C或C++的动态库,那么如何调用呢? 首先我们来创建动态库: // add.cpp : 定义 DLL 应用程序的导出函数. #inclu ...
- flume系列之—flume ng使用demo
摘自:http://rjhym.blog.163.com/blog/static/28130232201263042013972/
- 我的android学习经历24
Fragment生命周期 1.onAttach() 2.onCreate() 3.onCreateView() 4.onActivityCreated() 5.onStart() 6.onResume ...
- C#大纲
输入输出--数据类型--变量与常量--运算符表达式--语句(顺序.分支.循环)--数组--函数--结构体一.输入与输出.Console.ReadLine();Console.WriteLine();C ...
- C#四则运算之策略模式
Calculator.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; ...
- 屏幕 Dynpro
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- C#:字段与属性
MSDN中是这么介绍字段和属性的: A field is a variable of any type that is declared directly in a class or struct. ...