ホームページ >バックエンド開発 >PHPチュートリアル >PHPを使用してAndroidサーバーを開発し、動的キャッシュを作成します

PHPを使用してAndroidサーバーを開発し、動的キャッシュを作成します

WBOY
WBOYオリジナル
2016-06-13 12:11:41828ブラウズ

PHP を使用して Android サーバーを開発し、動的キャッシュを作成します
キャッシュがある理由: データベース サーバーへの負荷を軽減するためです。
1. 静的キャッシュ:
サーバーディスクに保存された静的ファイル。PHP を使用してデータを生成し、静的ファイルに配置します。
php 操作キャッシュ:
1. キャッシュを生成します。キャッシュの取得

3. キャッシュの削除


キャッシュ ファイルの生成:


file.php が動作します静的キャッシュ Class

<?phpclass File {//操作静态缓存的业务	private $_dir;	const EXT = &#39;.txt&#39;;	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


<?phprequire_once(&#39;./file.php&#39;);$data=array(&#39;id&#39;=>1,'name'=>'david','type'=>array(4,5,6));$file=new File();if($file->cacheData('davidcache',$data)){echo "success";}else{echo "error";}

if 生成が成功すると、success

と表示され、現在のファイル ディレクトリのファイル ディレクトリに davidchche.txt という名前のキャッシュ ファイルが作成されます。



上級バージョン:


ファイルのキャッシュ読み取りと削除も実装します。 php

<?phpclass File {//操作静态缓存的业务	private $_dir;	const EXT = &#39;.txt&#39;;	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);		}			}}
ファイルクラスによれば、値がempty=''の場合、キャッシュされたデータを読み取り、
値がnullの場合、キャッシュされたデータを削除し、値が空でない場合、
または null の場合は、キャッシュ データを作成します

testfile.php


<?phprequire_once(&#39;./file.php&#39;);$data=array(&#39;id&#39;=>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,那么创建缓存数据


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。