Zend_Framework1のDbMetaキャッシュ設定をapplication.iniで行う

ZendFramework1は、DBアクセスする際に、DbMeta情報を取得します。
MySQLだと、describeで取得できるテーブルの構造です。
この情報は、あまり変わらないのでキャッシュすることで、性能アップが実現できます。

以前、“ZendでDbのMeta情報をキャッシュする”という記事で書かせて頂いたように、Bootstrapの中で定義していました。

1
2
3
4
5
6
7
    protected function _initDbCache()
    {
        $frontendOptions = array('automatic_serialization' => true);
        $backendOptions = array('cache_dir' => APPLICATION_PATH . '/../cache/db');
        $cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions);
        Pb_Db_Table_Abstract::setDefaultMetadataCache($cache);
    }



これ、application.iniに設定を書くことで、全く同じことが実現できました。
問題無く動いていたし、Bootstrap自体が修正が入ることが少なかったので、気づきませんでした。
以下のように、記述することで、ソースコードを書く必要がなくなります。
書かなくていいものは、書かない方がいいですよね。

1
2
3
4
5
6
7
8
9
; dbメタキャッシュ設定
resources.cachemanager.db.frontend.name  = "Core"
resources.cachemanager.db.frontend.customFrontendNaming = false;
resources.cachemanager.db.frontend.options.lifetime = 7200
resources.cachemanager.db.frontend.options.automatic_serialization = true
resources.cachemanager.db.backend.name = "File"
resources.cachemanager.db.backend.customBackendNaming = false;
resources.cachemanager.db.backend.options.cache_dir = APPLICATION_PATH . '/../cache/db'
resources.cachemanager.db.frontendBackendAutoload = false



Zend_Framework2では、どんな設定方法になるんだろう。
まだ触っていないので、書くことはできませんが、わかったら書きたいと思います。

コメント 停止中

%d人のブロガーが「いいね」をつけました。