程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php開發安卓服務器之 使用創建動態緩存

php開發安卓服務器之 使用創建動態緩存

編輯:關於PHP編程

php開發安卓服務器之 使用創建動態緩存


為什麼要有緩存:減少數據庫服務器壓力。
一.靜態緩存:
保存在服務器磁盤的靜態文件,用php生成數據放在靜態文件中
php操作緩存:
1.生成緩存
2.獲取緩存

3.刪除緩存


生成緩存文件:


file.php操作靜態緩存的類

_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


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

_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


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,那麼創建緩存數據


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved