0.1.2

目次 Edit

修正内容 Edit

render部分にキャッシュの導入 PukiWiki\Wiki.php Edit

Render部分に3秒以上かかるページが存在したため、キャッシュを生成するようにしました。
ページ毎に生成するので大量に生成されるため、運用状況をみて調整していきたいと思います。

  • 定義部分に追加
    const RENDER_CACHE_PREFIX = 'render-page';
    
    
  • コンストラクタに追加
    $this->cache_name = self::RENDER_CACHE_PREFIX ."-". md5($page);
    
    
  • setメソッドの更新後に追加
    $cache['wiki']->removeItem($this->cache_name);
    
    
  • Renderメソッド修正
    public function render(){
    	global $digest, $cache;
    	$wiki_text = $this->wiki->get();
    	if (!$wiki_text) return;
    
    	$digest = md5(implode("\n",$wiki_text));
    
    	if ($cache['wiki']->hasItem($this->cache_name)){
    		$body = $cache['wiki']->getItem($this->cache_name);
    	} else {
    		$body = RendererFactory::factory($wiki_text);
    		$cache['wiki']->setItem($this->cache_name, $body);
    	}
    	return $body;
    }
    
    

コメント: Edit

最新の20件を表示しています。

  • A million thanks for posting this intramofion. -- [] id:GliDwgN29v