php開發安卓伺服器之 使用建立動態緩衝

來源:互聯網
上載者:User

標籤:ar   io   使用   sp   on   檔案   資料   bs   cti   

為什麼要有緩衝:減少資料庫伺服器壓力。
一.靜態緩衝:
  儲存在伺服器磁碟的靜態檔案,用php產生資料放在靜態檔案中
php操作緩衝:
1.產生緩衝
2.擷取緩衝

3.刪除緩衝


產生快取檔案:


file.php操作靜態緩衝的類

<?phpclass 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


<?phprequire_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

<?phpclass 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


<?phprequire_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開發安卓伺服器之 使用建立動態緩衝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.