PHP四大加速缓存器opcache,apc,xcache,eAccelerator

eAccelerator,xcache,opcache(5.5默认 linux下安装php时记得加上 --enable-opcache ),apc(偏数据库缓存,分系统和用户缓存,不推荐5.5将弃之?)是PHP缓存扩展,

memcached缓存是数据库缓存扩展(APC比较偏向数据库缓存的),一般两者只有要安装其中一个即可

注意:(详情连接

实际测试中发现当Cache数量超过一定阀值的时候,APC的性能不如Memcache

opcache的性能优于其他几个缓存器

一般会选择opcache+memcached|redis这个组合

如果储存的量不大,tp 的file 缓存,和redis |memcached差不多。但是内存读取肯定要快。如果存储的值多,redis |memcached强大的i/o能力会强于 普通的文件读写

使用 OpCache 提升 PHP 5.5+ 程序性能(从编译提高)

php.ini 打开 zend_extension="D:\phpStudy\php\php-7.2.14\ext\php_opcache.dll"

thinkphp的缓存:

1:
'TMPL_CACHE_ON' => true, // 是否开启模板编译缓存,设为false则每次都会重新编译
'TMPL_CACHE_TIME' => 0, // 模板缓存有效期 0 为永久,(以数字为值,单位:秒) 2:
'DB_FIELDS_CACHE' => true, // 启用字段缓存 3:
'DATA_CACHE_TIME' => 0, // 数据缓存有效期 0表示永久缓存
'DATA_CACHE_TYPE' => 'File', // 数据缓存类型,支持:File|Db|Apc|Memcache|Shmop|Sqlite|Xcache|Apachenote|Eaccelerator

静态文件缓存 和S函数动态数据缓存(从数据层面提高)

thinkphp的静态缓存,数据缓存,快速缓存,查询缓存

详细用法

配置文件在目录:application-Common-Conf-config.php里设置默认配置项

静态文件缓存配置格式  静态规则是用于定义要生成的静态文件的名称  建议配置在application/module/Config/config.php

  // 静态缓存配置
'HTML_CACHE_ON' => true, // 开启静态缓存
'HTML_CACHE_TIME' => 3600, // 全局静态缓存有效期(秒)
'HTML_PATH' => APP_PATH . 'Html/', //设置已经生成的静态页保存路径(默认HTML_PATH 即./Application/Html/)
'HTML_FILE_SUFFIX' => '.html', // 设置静态缓存文件后缀
'HTML_CACHE_RULES' => array( // 定义静态缓存规则 //静态规则是用于定义要生成的静态文件的名称
// 对商品进行缓存
// 'Product:plist' => 'Product/plist_{id}_{pid}',
// 对单个操作进行缓存
// 'Index:index' => 'Index/index',
// 对Index控制器的所有操作缓存
'Index:' => 'Index/{:action}_{id}',
// 对Download控制器的所有操作缓存
'Download:' => 'Download/{:action}_{id}',
// 对Product控制器的所有操作缓存并设置缓存过期时间为7200秒
'Product:' => array('Product/{:action}_{id}', '7200'),
'projectorSelect'=>array('{:module}/{:controller}_{:action}',86400),
'*'=>array('{$_SERVER.REQUEST_URI|md5}'),
),

启用静态文件后每次都会检查访问的url(访问的url定义了静态规则)是否生成了静态文件则访问静态文件否则访问view模板文件在生成

格式:

静态地址分四种:
Return Array(
'静态地址'=>array('静态规则','有效期',附加规则),
'ActionName'=>array('静态规则','静态缓存有效期','附加规则'), //第一种 定义所有的read操作的静态规则'read'=>array('{id}',60)
'ControllerName:'=>array('静态规则','静态缓存有效期','附加规则'),//第二种 定义全局的控制器静态规则,例如定义所有的User控制器的静态规则 'user:'=>array('User/{:action}_{id}','600')
'ControllerName:ActionName'=>array('静态规则','静态缓存有效期','附加规则'),//第三种 定义某个控制器的操作的静态规则,例如,我们需要定义Blog控制器的read操作进行静态缓存 'blog:read'=>array('{id}',0)
'*'=>array('静态规则','静态缓存有效期','附加规则'),//第四种 定义全局的静态缓存规则,这个属于特殊情况下的使用,任何模块的操作都适用 例如:'*'=>array('{$_SERVER.REQUEST_URI|md5}'), 表示根据当前的URL进行缓存。 …更多操作的静态规则
)

格式的例子:详情参考文档

'read'=>array('{id}',60)  #定义所有的read操作(方法)的静态规则  其中,{id} 表示取$_GET['id'] 为静态缓存文件名,第二个参数表示缓存60秒

'user:'=>array('User/{:action}_{id}','600')#定义所有的User控制器的静态规则(全局的控制器静态规则) {:action} 表示当前的操作名称

'blog:read'=>array('{id}',0)#定义Blog控制器的read操作进行静态缓存

'read'=>array('Think{id},{name}','60', 'md5')  #即md5('Think'.$_GET['id']. ', '.$_GET['name']);
'empty:index'=>array('{module}_{:action}',0);#定义空控制器的静态规则
'User:index'=>array('User/{:action}',0);#定义空操作的静态规则
'*'=>array('{$_SERVER.REQUEST_URL|md5}')#全局静态规则任何控制器和方法都适用

静态文件动态生成的方法:  方法

$this->buildHtml('静态文件', '静态路径','模板文件');

参数一:静态文件,是指生成后的静态文件名,文件保存路径完整的就是:静态路径/静态文件。例如静态文件设置a/index.那么保存的路径就是项
目路径/Html/a/index.html(默认的静态路径在项目路径的Html文件夹下,没有可以自己创建)

参数二:静态路径,上面已经说明了默认的路径,3.0中可以在入口文件里加入参数来更改静态路径。
define('HTML_PATH', './');(将静态路径义为网站根目录)

参数三:模板文件,我感觉官方这个描述是不正确的,准确的来说应该是目标模块,就是需要生成静态文件的模块。格式:模块名:操作。比如要生成Index下的a方法为静态文件,那就是Index:a。如果为空则默认生成当前操作的静态文件。

下面三个是等效的??:

$this->buildHtml("index",'',"");

$this->buildHtml("index",'',"Index:index");

$this->buildHtml("index",'',"index");

php 缓存 加速缓存的更多相关文章

  1. 使用tmpfs作为缓存加速缓存的文件目录

    使用tmpfs作为缓存加速缓存的文件目录 [root@web02 ~]# mount -t tmpfs tmpfs /dev/shm -o size=256m[root@web02 ~]# mount ...

  2. Nginx使用Expires增加浏览器缓存加速(转)

    转载自:Nginx使用Expires增加浏览器缓存加速 Nginx可以更改HTTP头部,这个是Web服务器必须的,当然Nginx更可以支持在HTTP头部中添加Expires等相关信息,增强浏览器缓存, ...

  3. WEB 服务器 加速缓存比较

    Nginx 相对 Apache httpd 的优点: - 轻量级,同样起web 服务,比apache 占用更少的内存及资源 - 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的 ...

  4. WDCP,LNMP安装PHP缓存加速扩展eAccelerator,xcache和memcached

    VPS主机性能配置如果太差,则在运行Wordpress博客和Discuz! 论坛等高消耗程序时能够明显感觉出VPS有些吃力.另外,即使VPS主机的CPU.内存.硬盘I/O等性能足够好,但是在面对大流量 ...

  5. PHP缓存加速插件 XCache 、 ZendOpcache 安装

    PHP缓存原理 当客户端请求一个PHP程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码(OperateCode,简称opcode)文件,该文件是PHP代码的一种二进制表示方式.默 ...

  6. Linux实战教学笔记36:PHP服务缓存加速深度优化实践

    一,PHP缓存加速器介绍与环境准备 1.1 PHP缓存加速器介绍 1.1.1 操作码介绍及缓存原理 当客户端请求一个PHP程序时,服务器的PHP引擎会解析该PHP程序,并将其编译为特定的操作码(Ope ...

  7. MIP缓存加速原理 MIP不仅仅只是CDN

    什么是MIP?我想我们现在都知道.可是你真的了解MIP吗?MIP加速原理是什么?MIP 是用 CDN 做加速的么?准确答案是:是,但不只是. 很多人并认为MIP百度排名会靠前,甚至权重会提高?作为一个 ...

  8. PHP7安装Memcache+Memcached缓存加速WordPress教程

    PHP7安装Memcache+Memcached缓存加速WordPress教程 2016年1月19日 6,691 Views 生活方式 PHP7最显著的变化就是性能的极大提升,已接近Facebook开 ...

  9. varnish实现缓存加速

    varnish实现缓存加速 一.采用varnish为nginx实现缓存加速1.实验环境:(1)一台varnish缓存服务器,一台nginx服务器(2)关闭防火墙和selinux2.配置varnish( ...

随机推荐

  1. Synchronized与ReentrantLock区别总结(简单粗暴,一目了然)

    这篇文章是关于这两个同步锁的简单总结比较,关于底层源码实现原理没有过多涉及,后面会有关于这两个同步锁的底层原理篇幅去介绍. 相似点:这两种同步方式有很多相似之处,它们都是加锁方式同步,而且都是阻塞式的 ...

  2. Modbus通讯数据格式:

    RTU&&TCP单个写入 RTU&&TCP多个写入 RTU&&TCP数据读取 ASCII码数据格式 Modbus功能码: 功能码 名称 作用 1 读取线 ...

  3. Java基础--面向对象编程2(封装)

    1.封装的定义: 封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.  为什么需要封装?封装的作用和含义? 首先思考一个问题:当我们要 ...

  4. 机器学习中模型泛化能力和过拟合现象(overfitting)的矛盾、以及其主要缓解方法正则化技术原理初探

    1. 偏差与方差 - 机器学习算法泛化性能分析 在一个项目中,我们通过设计和训练得到了一个model,该model的泛化可能很好,也可能不尽如人意,其背后的决定因素是什么呢?或者说我们可以从哪些方面去 ...

  5. Angular记录(8)

    文档资料 箭头函数--MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_fun ...

  6. clickhouse的使用和技巧,仅个人

    centos 安装clickhouse curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script. ...

  7. linux常用系统指令

    [linux常用系统指令] 查看内核版本:cat /proc/version 查看发行版本:cat /etc/issue 通过安装lsb的方式查看发行版本: yum provides */lsb_re ...

  8. centos 7.2 下 nginx 1.14.1 安装部署

    Nginx1.14.1安装部署 1.环境: 所有源码在跳板机kx的/web/soft下 2.安装依赖: [root@bogon src]# yum install -y libxml2 openssl ...

  9. Django unittest 单元测试

    这里就不再介绍单元测试的作用了. 首先单元测试的创建方式有两种,一种是app下面的test文件,另一种是自定义方式创建 方法一.使用test.py文件测试 from django.test impor ...

  10. 关于vscode插件 的一些体验

    一 vsCode git 首先vscode 继承了 git 在使用git前 先手动创建一个文件夹  用来clone已有项目 然后将 clone下来的项目放入工作区 右上角的小转转就是 pull文件 更 ...