php开发安卓服务器之 使用创建动态缓存
2014-12-15 22:04
387 查看
为什么要有缓存:减少数据库服务器压力。
一.静态缓存:
保存在服务器磁盘的静态文件,用php生成数据放在静态文件中
php操作缓存:
1.生成缓存
2.获取缓存
3.删除缓存
生成缓存文件:
file.php操作静态缓存的类
testfile.php
如果生成成功显示success
这样就在当前文件的目录的file目录下创建了名为davidchche.txt的缓存文件。
进阶版:同时也实现缓存的读和删除
file.php
根据file类,如果value为空='',读取缓存数据,
如果value为null,删除缓存数据,
如果value不为空,也不是null,那么创建缓存数据
testfile.php
一.静态缓存:
保存在服务器磁盘的静态文件,用php生成数据放在静态文件中
php操作缓存:
1.生成缓存
2.获取缓存
3.删除缓存
生成缓存文件:
file.php操作静态缓存的类
<?php class File {//操作静态缓存的业务 private $_dir; const EXT = '.txt'; public function __construct() { //获取文件当前目录,把缓存文件放到当前目录files下 $this->_dir = dirname(__FILE__) . '/files/'; } //key是缓存文件文件名,value是缓存数据 public function cacheData($key, $value = '', $path='') { $filename = $this->_dir . $path . $key . self::EXT; if($value !== '') { // 将value值写入缓存 //获取目录,判断如果目录不存在,创建目录 $dir = dirname($filename); if(!is_dir($dir)) { mkdir($dir, 0777);//生成目录,给出权限 } //第一个参数文件名,第二个数据(String),把数组vlaue转换成字符串 return file_put_contents($filename,json_encode($value)); } } }
testfile.php
<?php require_once('./file.php'); $data=array( 'id'=>1, 'name'=>'david', 'type'=>array(4,5,6) ); $file=new File(); if($file->cacheData('davidcache',$data)){ echo "success";}else{ echo "error"; }
如果生成成功显示success
这样就在当前文件的目录的file目录下创建了名为davidchche.txt的缓存文件。
进阶版:同时也实现缓存的读和删除
file.php
<?php class File {//操作静态缓存的业务 private $_dir; const EXT = '.txt'; public function __construct() { //获取文件当前目录,把缓存文件放到当前目录files下 $this->_dir = dirname(__FILE__) . '/files/'; } //key是缓存文件文件名,value是缓存数据 public function cacheData($key, $value = '', $path='') { $filename = $this->_dir . $path . $key . self::EXT; if($value !== '') { // 将value值写入缓存 if(is_null($value)) {//如果value值穿null则删除这个缓存文件 return @unlink($filename); } //获取目录,判断如果目录不存在,创建目录 $dir = dirname($filename); if(!is_dir($dir)) { mkdir($dir, 0777);//生成目录,给出权限 } //第一个参数文件名,第二个数据(String),把数组vlaue转换成字符串 return file_put_contents($filename,json_encode($value)); } if(!is_file($filename))//读取缓存文件 { return FALSE; }else{ return json_decode(file_get_contents($filename),true); } } }
根据file类,如果value为空='',读取缓存数据,
如果value为null,删除缓存数据,
如果value不为空,也不是null,那么创建缓存数据
testfile.php
<?php require_once('./file.php'); $data=array( 'id'=>1, 'name'=>'david', 'type'=>array(4,5,6) ); $file=new File(); //删除缓存文件 if($file->cacheData('davidcache',null)){ //if($file->cacheData('davidcache')){ //var_dump($file->cacheData('davidcache')); //exit; echo "success";}else{ echo "error"; } /*下面这个是读取缓存时使用的 if($file->cacheData('davidcache')){ var_dump($file->cacheData('davidcache')); exit; echo "success";}else{ echo "error"; }*/ /*下面这个是创建缓存调用的 if($file->cacheData('davidcache',$data)){ echo "success";}else{ echo "error"; }*/ //根据file类,如果value为空='',读取缓存数据, //如果value为null,删除缓存数据, //如果value不为空,也不是null,那么创建缓存数据
相关文章推荐
- 如何使用PHP DOM创建动态的XML文件
- [2]项目创建-使用C#.NET开发基于本地数据缓存的PC客户端
- 如何使用PHP DOMDocument创建动态XML文件
- PHP使用方法重载实现动态创建属性的get和set方法
- Android官方开发文档Training系列课程中文版:使用Fragment构建动态UI之Fragment创建
- 如何使用PHP DOM创建动态的XML文件
- php开发安卓服务器之 使用单例模式连接数据库
- php使用变量动态创建类的对象用法示例
- PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
- PHP使用方法重载实现动态创建属性的get和set方法
- PHP使用方法重载实现动态创建属性的get和set方法
- 如何使用PHP DOM创建动态XML文件
- 如何使用PHP DOM创建动态的XML文件
- 使用 WebSphere Studio Application Developer 的 WebSphere Portal Server 开发: 第 1 部分:Portal Server 2.1 的动态主题定制
- entlib2.0的研究(四)--使用缓存组件开发应用程序
- C#中创建和使用资源动态链接库
- 在Axapta中,使用X++代码动态创建Form
- PL/SQL开发中动态SQL的使用方法[转]
- 在VB6中动态创建使用ADO控件访问数据库