您的位置:

php实现文件缓存,php处理并发有哪些技术php缓存技术教程

本文目录一览:

php伪静态情况下实现的文件缓存实现代码

PHP静态文件生成方法:

ob_start();    //开启缓存                        

require_once('./templates/moban.php'); //导入模板文件(页面)

file_put_contents('index.html',ob_get_contents()); //生成静态文件index.html

php文件缓存类汇总

本文实例讲述了php的文件缓存类。分享给大家供大家参考。具体分析如下:

缓存类是我们开发应用中会常用使用到的功能,下面就来给大家整理几个php文件缓存类了,各个文件缓存类写法不同,但在性能上会有区别,有兴趣测试的朋友可测试一下这些缓存类。

例1

复制代码

代码如下:?php

$fzz

=

new

fzz_cache;

$fzz-kk

=

$_SERVER;

//写入缓存

//$fzz-set("kk",$_SERVER,10000);

//此方法不与类属性想冲突,可以用任意缓存名;

print_r($fzz-kk);

//读取缓存

//print_r($fzz-get("kk"));

//unset($fzz-kk);

//删除缓存

//$fzz-_unset("kk");

var_dump(isset($fzz-kk));

//判断缓存是否存在

//$fzz-_isset("kk");

//$fzz-clear();

//清理过期缓存

//$fzz-clear_all();

//清理所有缓存文件

class

fzz_cache{

public

$limit_time

=

20000;

//缓存过期时间

public

$cache_dir

=

"data";

//缓存文件保存目录

//写入缓存

function

__set($key

,

$val){

$this-_set($key

,$val);

}

//第三个参数为过期时间

function

_set($key

,$val,$limit_time=null){

$limit_time

=

$limit_time

?

$limit_time

:

$this-limit_time;

$file

=

$this-cache_dir."/".$key.".cache";

$val

=

serialize($val);

@file_put_contents($file,$val)

or

$this-error(__line__,"fail

to

write

in

file");

@chmod($file,0777);

@touch($file,time()+$limit_time)

or

$this-error(__line__,"fail

to

change

time");

}

//读取缓存

function

__get($key){

return

$this-_get($key);

}

function

_get($key){

$file

=

$this-cache_dir."/".$key.".cache";

if

(@filemtime($file)=time()){

return

unserialize(file_get_contents($file));

}else{

@unlink($file)

or

$this-error(__line__,"fail

to

unlink");

return

false;

}

}

//删除缓存文件

function

__unset($key){

return

$this-_unset($key);

}

function

_unset($key){

if

(@unlink($this-cache_dir."/".$key.".cache")){

return

true;

}else{

return

false;

}

}

//检查缓存是否存在,过期则认为不存在

function

__isset($key){

return

$this-_isset($key);

}

function

_isset($key){

$file

=

$this-cache_dir."/".$key.".cache";

if

(@filemtime($file)=time()){

return

true;

}else{

@unlink($file)

;

return

false;

}

}

//清除过期缓存文件

function

clear(){

$files

=

scandir($this-cache_dir);

foreach

($files

as

$val){

if

(filemtime($this-cache_dir."/".$val)time()){

@unlink($this-cache_dir."/".$val);

}

}

}

//清除所有缓存文件

function

clear_all(){

$files

=

scandir($this-cache_dir);

foreach

($files

as

$val){

@unlink($this-cache_dir."/".$val);

}

}

function

error($msg,$debug

=

false)

{

$err

=

new

Exception($msg);

$str

=

"pre

span

style='color:red'error:/span

".print_r($err-getTrace(),1)."

/pre";

if($debug

==

true)

{

file_put_contents(date('Y-m-d

H_i_s').".log",$str);

return

$str;

}else{

die($str);

}

}

}

?

php 中如何使用缓存,使用哪种缓存机制最好;

php的缓存三种.有文件缓存,数据库缓存,memcache缓存;

memcache缓存要求对服务器支持,而且它的缓存是由期限的,一般是30天。这种缓存的效率是最高的。读存取的速度最快。

数据库缓存

文件缓存比较简单。适用小的项目。和php新手