Doctrineでは次のようにして検索結果をキャッシュしておくことができます。商品数やカテゴリー数が多い場合は一気にページが高速化するサイトもありますので場合によってはたいへん有用です。

EC-CUBEのデフォルトでもコード内で何箇所か使用されており、$lifetimeがキャッシュの有効時間です。

この$lifetimeは設定ファイルによってデフォルトで3600秒 = 1時間と指定されています。src/Eccube/Resource/config/doctrine_cache.yml.distをご確認ください。

この秒数を変更するにはapp/config/eccube内にdoctrine_cache.ymlというファイルを作成し、新しい設定を記載するのが良いでしょう。

例えば下記のようになります。lifetime: 86400と書くことでキャッシュの持続時間を1日に変更しています。

 

もちろん、場合によっては設定ファイルでなくコードに直接持続時間を書いても問題ありません。

あまり変更することがないような情報に対してはキャッシュしておくこととサイトの高速化に役立ちます。

関連するカスタマイズ

既に存在するIDやRankの最大値を取得する方法... 新規データ作成やプラグインのマイグレーション作成の際に、既に存在するデータの最大値を取得したい場合があります。 そんな時は直接SQLを発行しても良いのですが、Doctrineを使用すると便利です。 商品IDの最大値を取得する方法(例:dtb_product) 次のようにQuer...
Entities passed to the choice field must be manage... 今回はDoctrineのEntityに関するちょっと難しい話題です。 choiceタイプやentityタイプのフォームでデータベースの内容を表示しようとした時(主にセレクトボックスやチェックボックス) Entities passed to the choice field must be m...
マイグレーションによるテーブルへの項目追加... ECCUBE3でのマイグレーションファイルによるテーブルへの項目追加方法をご紹介します。 phpMyAdminやAdminerで追加してもかまいませんが、Migrationファイルを作成して実行すればGitで管理しメンバー間でデータベースの状態を共有可能であることや、再インストール時に自動で適...
style.cssに#contents min-height: 100vh;は必要か?... default/css/style.cssに #contents { min-height: 100vh;}という最低の高さ指定があります。 デフォルトテーマでこれを全ページに適用させている理由としては、新規ページ等でコンテンツが少ない場合に、ある程度高さがないと見た目が悪いということだと思...

弊社はEC-CUBE公式インテグレートパートナーです。