私は最近、デフォルトのインストールでも完全に機能する magento CE のフル ページ キャッシュはないと述べた開発者と話をしていました。
これについての私の経験は同じです。
aoe_static の素晴らしいモジュールと phoenix のフル ページ キャッシュを varnish モジュールで使用すると、それに近づくことができます。
aoe_static モジュールを使用すると、キャッシングはアクションごとに行われます。これは私には理にかなっているようです。ホール パンチングは、レイアウト xml を介して適用されるプレースホルダーと、キャッシュされない ajax 呼び出しを介して要求される動的ブロックを使用して行われます。Cookie もこの呼び出しで設定されます。彼は、ワニス 2 で動作するデフォルトの vcl を提供し (チェックしたことはありません)、ワニス 3 用に簡単に変更できます。
キャッシュの無効化は、phoenix モジュールによって適切に処理されます。モジュールのコントロール フォルダーにメソッドが表示されます。これにより、製品またはカテゴリが変更されたときにキャッシュが無効になり、製品ページとカテゴリ ページの両方が無効になります。ただし、階層化されたナビゲーションによって生成された URL はキャッシュされる可能性があります (vcl によって異なります)。これらは無効化されていないので、気をつけてください。
これらのモジュールを実稼働サイトで使用する前に、これらのモジュールに他に問題があるかどうかを知りたいです。誰かが私に問題を指摘できれば、喜んで解決策を投稿してみたいと思います。
ただし、階層化されたナビゲーション URL の場合、モデルは、生成された URL をカテゴリ ID とともにログに記録する必要があります。URLとカテゴリの2列のモデルを持つのは簡単だと思います。キャッシュの無効化では、モデルをチェックして余分なURLを無効にする必要があります。これは、メイン カテゴリの URL の作成と同時に行う必要があります。悪くはありません。誰かが私の非常に簡単な説明を受け取った場合は、時間を無駄にする前に、何かが足りないかどうかアドバイスしてください.
私はむしろ、少なくともデフォルトの 1.7 インストールでの信頼性について (当然の) 評判を持っているコミュニティの助けを借りて (またはリーダーの経験が豊富な人)、オープンソース プロジェクトを作成したいと考えています。最も賢明なことは、すべてのエッジ ケース (デフォルトの 1.7 インストールの場合) をカバーまたはドキュメント化した 1 つのモジュールを作成することだと思います。
誰かがそのような使命を果たす方法を知っていますか? apc または memcached を使用してこれを行うためのコミュニティ サポートがあれば、ホスティングの可用性を高めるにはより賢明かもしれません。ロジックや開発時間はあまり変わりません。
これは、覚えておくべきブロックのセッションキャッシュをカバーするように拡張できますが、信頼できるフルページキャッシュに焦点を当てることが優先されるべきだと思います.
vcl でデバイスを検出することもできます。これは、モバイル版が必要なショップに追加できますhttps://github.com/varnish/varnish-devicedetect/blob/master/devicedetect.vcl
このプロジェクトのメールを作成したので、参加したい場合は「magefpc gmail com」です。magento、git、およびデバッグの経験がある人なら誰でも歓迎します。
ありがとう