ホーム › フォーラム一覧 › YASAKANI Cache フォーラム › 投稿ページ・固定ページ単位のキャッシュリフレッシュ機能の実装希望願い ほか
-
投稿者投稿
-
2017年10月15日 12:40 PM #5781Anonymousメンバー
YASAKANI Cache、日頃よりたいへん有難く利用させて頂いております。
YASAKANI Cacheを使用していて「 こういう機能があったらいいな 」という希望的提案を以下に記載しておきます。
(仕様・構造的な理由から実現が不可能なものであれば無視してくださって構いません)
● 投稿ページや固定ページの編集画面に「 このページのキャッシュを更新(リフレッシュ)する 」機能(=ボタン)がほしい
現在のver.1.00では、投稿ページや固定ページの編集画面に「 キャッシュの対象に含める/除外する 」機能が実装されていますが、ページの内容を変更した後に管理者(記事の編集者)が自ら能動的にそのページのキャッシュをリフレッシュできる仕組み(ボタン等)の実装は可能でしょうか?
というのも、YASAKANI Cacheにて生成されたキャッシュは、ページの内容が変更されたかどうかに関わらず予め設定されたキャッシュ期限が訪れるまで生成されたキャッシュが保持され続けるようですので、キャッシュ内容を最新状態に更新したいときは、まずYASAKANI Cacheダッシュボードからキャッシュクリアを行い、内容変更を行ったページにアクセスしてキャッシュを新たに生成させる必要があると思うのですが、この場合「キャッシュを更新(リフレッシュ)する必要がない内容を変更していないページのキャッシュ」までキャッシュクリアによって消えてしまうように見受けらられるため、もし可能なようでであれば各ページ編集画面内に「このページのキャッシュを生成・更新(リフレッシュ)する」ボタンがあったなら便利なのではないかと感じるに至ったためです。
YASAKANI Cacheが生成するキャッシュがキャッシュしているページ数に関わらず単一のファイルで、一部のページのみの変更が行えない構造なのであれば、わたしの提案はまったくの的外れになってしまうのですが、もしそうでないのであれば、将来的なアップデートにおいて上述したような機能の実装を検討頂ければたいへん有難く思います。
● キャッシュしているページの一覧がほしい
以前は「キャシュしているページ総数」がYASAKANI Cacheダッシュボードに表示されていたように思います。
あの機能を発展させ、キャッシュしているURL・ページ名・キャッシュ日時の一覧をがYASAKANI Cacheダッシュボードの中にタブを新設する等によって表示させることはできないでしょうか?
大変お忙しい事とは思いますが、以上内容につきましてご検討頂ければ幸いです。
2017年10月16日 11:18 AM #5782enomotoキーマスターcidre さん。ご提案についてお答えいたします
● 投稿ページや固定ページの編集画面に「 このページのキャッシュを更新(リフレッシュ)する 」機能(=ボタン)がほしい
YASAKANI Cacheにて生成されたキャッシュは、ページの内容が変更されたかどうかに関わらず予め設定されたキャッシュ期限が訪れるまで生成されたキャッシュが保持され続けるようですので
キャッシュがクリアされていないとのことですが、YASAKANI Cache では、記事の更新時はその記事のキャッシュをクリアしています
私の環境ではクリアできているので、再度確認していただいて問題あるようなら動作環境(WPバージョン、PHPバージョン、使用中のテーマやプラグイン等)を教えて下さい
また特定のページのキャッシュをクリアしたい場合は、「 キャッシュの対象に含める/除外する 」機能を使って間接的に行うこともできます。ちょっとワンアクション余分な操作が必要となりますが、一旦キャッシュ対象から除外するを実行するとそのページのキャッシュがクリアされます。その後再度キャッシュの対象に含めるを実行すればOKです
● キャッシュしているページの一覧がほしい
たしかに以前は「キャシュしているページ総数」を表示していましたが、記事数が増えてくるとキャッシュされているデータ数を取得するSQL処理が想定以上にかかり、設定画面の表示が遅くて使い勝手が悪くなってしまっていたので止めました
キャッシュしているURL・ページ名・キャッシュ日時の一覧が見れたほうが良いのはわかりますが、表示が遅くなりそうなので今のところ実装する予定はありません
代わりに現在は統計情報を有効にしていただければ、アクセス数やキャッシュのヒット率等が参照できるようになっています
また、ちょっと手間かかりますがログのダウンロード機能を使い、このダウンロードしたSQLiteのログファイルをSQLiteのデータを扱えるツール(Windows なら SQLiteSpy 等)を使ってその時点のキャッシュデータやログデータを解析することもできます
このプラグインはまだユーザー数も少ないので直接このようにご提案いただけるのは大変ありがたいです。
今後も不具合やご提案等あればお気軽にフォーラムに投稿してください (^^)
2017年10月16日 9:10 PM #5783Anonymousメンバーお返事ありがとうございます。
記事を更新するとキャッシュがクリアされる仕組みだったんですね。
まったく把握してませんでした…
一旦キャッシュ対象から除外するを実行するとそのページのキャッシュがクリアされます。その後再度キャッシュの対象に含めるを実行すればOKです
しかも、こんな方法で記事ごとにキャッシュ消去が行えたとは。
キャッシュ消去後にWEBブラウザで該当ページを表示させることで新たなキャッシュが生成されるという理解でよいでしょうか?
記事数が増えてくるとキャッシュされているデータ数を取得するSQL処理が想定以上にかかり、設定画面の表示が遅くて使い勝手が悪くなってしまっていたので止めました
実装されなかった理由をお聞きして得心がいきました。
フロントページの表示を速くしておきたいので、YASAKANIキャッシュのダッシュボードで「 ホーム/フロントページ 」の「 キャッシュを除外する 」チェックボックスはOFFにしているのですが、フロントページに関してもこのチェックボックスをONにしてから設定更新を行えば、フロントページのキャッシュだけがクリアされる仕組みでしょうか?
個人的には記事ごとにワンクリックでキャッシュをリフレッシュ(キャッシュクリア→キャッシュ生成)できるボタンもあれば手軽で能動的にキャッシュを生成できるように思えてしまうのですが、WEBブラウザで実際にレンダリングさせないことにはキャッシュが生成できないといったような何かしらの制約によって実現が不可能だったりしますか?
質問が多くなってしまいましたが、お時間が許す際にご回答頂ければ幸いです。
2017年10月17日 12:00 PM #5784enomotoキーマスターYASAKANI Cache の動作状態を把握したいならログを参照することが一番です。1日あたり1万アクセス程度までならログ+統計情報機能を使用して若干レスポンスが遅くなっても気にならないと思うので有効化することをお勧めします
ログをみればアクセスにたいして、キャッシュの生成やキャッシュ応答、その処理時間等が確認できます。リクエストされたページのキャッシュがない場合、有効期限切れの場合は、そのページの出力はキャッシュではなく通常の処理で行われ、その出力データをキャッシュとして自動的に保存生成します
実際のところサイトでは google, yahoo, bing やその他の歓迎しないかもしれないボット(クローラー)があなたのサイトを毎日のように多数アクセスしてくれるのでその時にもキャッシュが生成されます
従って、キャッシュの生成を気にする必要はありませんし、ご自身で該当ページをわざわざ表示させる必要もありません。ユーザーによるアクセスが少なくともボットのアクセスがあれば生成されます
※このプラグインの設計として事前にキャッシュページを生成しておくという思想はありません。該当ページの最初のリクエストはキャッシュなしで応答時間がかかるかもしれませんが、それ以降はキャッシュで処理するという仕様です
どの程度キャッシュが使われているかは、統計情報のキャッシュヒット率を確認して、低いようなら有効期限を長くしてみて下さい
ちなみにこのサイトでは、有効期限8時間でヒット率は60%前後です
ホーム/フロントページに関してですが、多くの場合最新記事のリスト表示等を行っているので、投稿の追加、更新、削除等があればホームのキャッシュも自動的にクリアしています。また、ホーム/フロントページを除外するでもクリアされます
従って、個別ページ毎のキャッシュ生成やクリアに関しては、自動的に行われるので通常は意識する必要はありません。
気を付けてほしいのは、プラグインの追加、削除、オプション変更やウィジェットの追加、削除、オプション変更時です。これらの変更にによりどのページの出力に影響するかが判らないので、キャッシュクリアボタンを使い全てのキャッシュを一旦クリアしてください。
2017年10月17日 9:53 PM #5787Anonymousメンバーご回答ありがとうございました。
各社サーチエンジンのクローラーがキャッシュの生成に貢献してくれているとは考えもしていませんでした。
個別ページ毎のキャッシュ生成やクリアに関しては、自動的に行われるので通常は意識する必要はありません。
今回詳しく説明いただいた内容からすると、確かにWordPressを運用している上で、YASAKANI Cacheのキャッシュクリア・キャッシュ生成については意識しないでよかったようです。お手数をおかけしました(><;)
「Plugin Load Filter」など、セルティスラボさんが公開してるプラグインはユニークでいて実用的だと感じます。これからも面白い着想のプラグインが登場する日を楽しみにしております。
(どのプラグインがどこに作用しているのか正確に把握できないので、残念ながら「Plugin Load Filter」はまだ導入できていませんが…)
2017年10月18日 10:44 AM #5788enomotoキーマスターボット(クローラー)は、キャッシュの生成に貢献してくれますが、一方で怪しいボットも沢山アクセスしてきます
このプラグインには、ボットのブロック機能もありますので上手に活用してくださいPlugin Load Filter は、うまく設定出来ればキャッシュなしでそこそこ高速化出来るので試してみて下さい。もちろんYASAKANI Cache と同時に使っても問題ないですし、キャッシュが効く前の最初のリクエストにとても効果があります。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。