2011年3月30日 星期三

Zend_Cache 檔案快取

//設定緩存生命期
 $frontendOptions = array('lifeTime' =>5, // 5秒
 ’automatic_serialization’ => true);
 //放緩存文件的目錄);
 $backendOptions = array('cache_dir' => './temp/cache');
 //取得一個Zend_Cache_Core 對象
 $cache = Zend_Cache::factory('Core','File',$frontendOptions,$backendOptions);
 //取緩存數據
 if(!$cacheBuffer = $cache->load(‘mycache’)){
  //如果沒有命中,則重新生成緩存
  $data=array(
   ”測試zend 的 cache”,time()
  );
  //將數據系列化後存入緩存文件
  $cache->save($data, ‘mycache’);
  //echo “ok”;
 }else{
  //將取出的數據反序列列化
  $data=unserialize($cacheBuffer);
 }

2011年3月18日 星期五

php-migrations

在ruby中有方便的
rake db:migrate
可以在開發環境中方便的做
 
資料庫的版本控制(結構的新增與回復)
PHP也有clone的版本
mysql-php-migrations
http://code.google.com/p/mysql-php-migrations/ 
使用方式
執行
php migrate.php add
 
 會依日期建立某版本號
 
在其中
 
 public function up(PDO &$pdo)
        {
                $pdo->exec("ALTER TABLE `test0` ADD `field1` VARCHAR(24) NOT NULL");
        }

        public function down(PDO &$pdo)
        {
                $pdo->exec("ALTER TABLE `test0` DROP `field1`");
        }
去寫新增或回滾的SQL語法就行

2011年3月1日 星期二

網頁強制不緩衝(HTML & PHP)

HTML
  
<meta http-equiv="Pragma" content="no-cache">  
<meta http-equiv="no-cache">  
<meta http-equiv="Expires" content="-1">  
<meta http-equiv="Cache-Control" content="no-cache">  
  
PHP
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');  
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');  
header('Cache-Control: no-store, no-cache, must-revalidate');  
header('Cache-Control: post-check=0, pre-check=0', false );  
header('Pragma: no-cache');  


資料來源:
HTML、ASP、PHP 強制不緩存頁面代碼(SOUGEE)