刘少星


人的一切痛苦,本质上都是对自己无能的愤怒。加油!


welcome to mine blog !

页面提速之——数据缓存

适用范围

一般需要需要数据缓存的页面,集中在以下几个类别:

  • 实时性不是很高
  • 页面数据繁杂,生成需要读取数据库或者文件
  • 访问量较大

如果符合这几点,基本可以确定,利用数据缓存,在不影响业务的情况下可以减少页面加载时间

实现方式

对于PHP而言,我们经常看到的缓存方式有

  • Memcache(内存)
  • MongoDB(非关系数据库)或MySQL(关系数据库)
  • File(文件缓存)

效率依次降低,缓存量依次增大,根据自己的业务情况酌情选择即可

代码实现

使用cache()函数来进行缓存和读取,cache()内部实现过期时间判断

if(!$data = cache('data')){
  $data = .....
  cache('data',$data,60);
}

继续优化可能

缓存之后还有多种优化方法

  • 增加缓存队列,固定缓存大小,防止无限缓存
  • 多级缓存,防止击穿(例如在memcache后加mongodb缓存,在memcache挂掉以后能负担一部分负荷)
最近的文章

为PHP设置服务器(Apache/Nginx)环境变量

设置环境变量常见的地方为区分开发环境/生产环境,或者定义一些数据库的帐号密码设置Apache环境变量指令设置当前环境变量为DEVSetEnv RUNTIME_ENVIROMENT DEV数据库帐号密码SetEnv MYSQL_USERNAME rootSetEnv MYSQL_PASSWORD root配置文件格式<VirtualHost *:80> ServerAdmin admin@admin.com DocumentRoot "/var/www/" Se...…

PHPNginxApache继续阅读
更早的文章

PHP中的魔术方法和魔术常量简介和使用

有些东西如果不是经常使用,很容易忘记,比如魔术方法和魔术常量。魔术方法(Magic methods)PHP中把以两个下划线__开头的方法称为魔术方法,这些方法在PHP中充当了举足轻重的作用。 魔术方法包括:__construct(),类的构造函数__destruct(),类的析构函数__call(),在对象中调用一个不可访问方法时调用__callStatic(),用静态方式中调用一个不可访问方法时调用__get(),获得一个类的成员变量时调用__set(),设置一个类的成员变量时调用__i...…

PHP继续阅读