こんにちは、南波真之と申します。
こちらの記事では、KUSANAGIユーザーが交流している、KUSANAGIユーザーフォーラムにあるトピックスをご紹介していきます。
このフォーラムには、KUSANAGIの基本的な使い方から、インストール時・運用時のお悩みまで、様々な投稿がされています。
KUSANAGIについて、わからないところがある方はぜひご参加ください。
今回は、KUSANAGIのキャッシュ要件についてのトピックです。
KUSANAGIのキャッシュ機構について
KUSANAGIには、キャッシュの仕組みが2つ備わっています。これらをうまく利用することで、更に高速にWebページの表示を実現することができます。
KUSANAGIのキャッシュは、bcacheとfcacheです。
bcacheとは、KUSANAGIで提供している専用プラグインで実現するキャッシュの仕組みです。WordPressの管理画面からキャッシュの削除や制御ができるようになっています。
より細かく知りたい場合は、bcacheを御覧ください。
一方fcacheとは、nginx(Webサーバ)によるFastCGIのキャッシュの仕組みを利用しているもので、nginxを利用している場合に利用することが可能です。
より細かく知りたい場合は、fcacheを御覧ください。
<寄せられたご質問>
会員制のWEBサイトを運営しており、ユーザー過多によりConoha+Kusanagiに移行しようとしています。
しかし、会員ユーザーはDBのユーザー情報を参照してほぼすべてのページが動的に作成されるため、fcache・bcacheで問題が出ると思われます。
一方、非会員ユーザーは、ブラウザのlocalStorageのデータを参照してページが作られます。
そのため、キャッシュの作成元となるユーザーと、キャッシュを利用するユーザーを、非会員ユーザーに限定したいのですが可能でしょうか?
ログイン機能は「Simple Membership」というWordPressプラグインを使っています。
よろしくお願いします。
————————————————–
<寄せられたご質問への回答>
pants さん、こんにちは。
bcache もしくは fcache を有効にした場合、ログインされている場合はキャッシュされないと思うのですが。。。?
また、URLにクエリストリング(クエリ文字列)が付与されていると通常はキャッシュはされません。
ログインユーザーにクエリストリングを付与してみる方法も検討してみてください。
bcache 設定のほうがわかりやすいので下記に例として示します。内容を参考にしてみてください。
KUSANAGI専用プラグイン
(続きは以下を御覧ください)
キャッシュの仕組み上、誤った使い方をすると危険な場合があります。本当は逐次最新情報の反映がされなければならないページがキャッシュを使ってしまうと最新情報の反映がされないということが起こりえますし、本来キャッシュしてはいけないページがキャッシュされており表示されてしまうということも考えられます。
KUSANAGIのキャッシュはそういった使い方がされないように設計されていますし、ご質問の回答にもあるように、クエリストリング(https://example.com?name=aaaのように「?」を付けて情報をURLに記述すること)がURLに付与されているとキャッシュが適用されないようになっています。
会員サイトの場合は、各会員のマイページはキャッシュされると情報更新や別の情報が表示されるといった不都合が発生しますので、質問者様も気にされていたのでしょう。
このように、KUSANAGIに関する質問や課題を持つ方は、ユーザーフォーラムに投稿もしくはKUSANAGI公式サポートサービスのご利用を検討ください。
また、お仕事やプライベートでKUSANAGIを使っている、という方はぜひフォーラムの質問への回答者としてもご参加ください!
ユーザーフォーラムが活性化していくとよりKUSANAGIが盛り上がっていくと思います。
皆様のご参加をお待ちしております。KUSANAGIユーザーグループサイト