php缓存技术(减少数据库服务器压力)
- 静态缓存(保存在磁盘上的静态文件,用PHP生成数据放入静态文件中)
a) php操作缓存
i. 生成缓存
ii. 获取缓存
iii. 删除缓存
判断目录是否存在:is_dir()
dirname(__FILE__):就可以获取文件的当前目录
mkdir():创建目录
unlink():删除文件
<?php //静态缓存 class File{ const EXT=".txt"; private $_dir; public function __construct(){ //默认路径 $this->_dir=dirname(__FILE__).'/files/'; } /** *$key 缓存文件名 *$value 缓存值 *$path 缓存文件目录 **/ public function cacheData($key,$value=' ',$path=' '){ $filename=$this->_dir.$path.$key.self::EXT; if($value!==' '){//将value值写入缓存 if(is_null($value)){//删除缓存文件 return @unlink($filename); } $dir=dirname($filename); if(!is_dir($dir)){ mkdir($dir,0777);//创建缓存目录文件 } return file_put_contents($filename,json_encode($value)); } //获得缓存 if(!is_file($filename)){ return false; }else{ return json_encode(file_get_contents($filename),true); } } } $data=array('id'=>1,'name'=>'ann'); //实例化file类 $file=new File(); //生成缓存 if($file->cacheData('index_cache',$data)) { echo 'success'; }else{ echo 'error'; } //获得缓存 /* if($file->cacheData("index_cache")){ var_dump($file->cacheData("index_cache")); }else{ echo 'error'; } */ //删除缓存 /* if($file->cacheData('index_cache',null)){ echo 'success'; } else{ echo 'errors'; }*/ ?>
2.Memcache redis缓存
设置缓存
设置缓存15秒后失效
获得缓存值:
php操作Memcache(更多可以参考PHP手册)
1.安装memcache扩展
2.l连接服务-connect('memcache_host',11211);
3.set 设置缓存
4. get 获取缓存
定时任务(Linux系统)
定时任务命令
1.定时任务服务提供crontab命令来设定服务
2.crontab -e //编辑某个用户的cron服务
3. crontab -l //列出某个用户cron服务的详细内容
4.crontab -r //删除某个用户的cron服务