静的キャッシュ:それは何であり、どのように機能するか
公開: 2022-06-30キャッシング戦略には注意が必要なため、サポートマネージャーのRyan Belisleが、静的キャッシングを使用してより高速なサイトを提供する1つの方法を説明するのに少し時間がかかりました。
学ぶために読み続けてください:
- キャッシュ静的コンテンツとは何ですか?
- 静的キャッシュの利点。
- 静的キャッシュの制限。
- 静的キャッシュを実装する方法。
- 静的キャッシュを無効にする方法。
eコマースでは、プロモーションキャンペーンにお金を払ってそれがきらめくのを見るよりも悲惨なことはほとんどありませんが、最高の時間にサイトがクラッシュして燃えるのを見るだけです。 場合によっては、プロモーションが期待を上回り、事前対策だけでは不十分な場合があります。 では、どうしますか?
直前にサイトからより多くのパフォーマンスを引き出すための1つの戦術は、静的キャッシングと呼ばれる方法です。
注意喚起! Webトラフィックの予想される急増に対処するために、土壇場でのアプローチを取ることはお勧めしません。 これは、インフラストラクチャまたはアプリを最適化するためのベストプラクティスをすでに適用しており、マーケティング結果が期待を上回っている場合に使用します。
キャッシュ静的コンテンツとは何ですか?
キャッシュにはさまざまな形式がありますが、静的キャッシュは、ユーザーのリクエストによって生成されたページをHTMLドキュメントに変換して、同じページへの後続のリクエストを処理する方法です。
サーバーがサイトコード自体を解釈し、データベースにクエリを実行し、HTMLドキュメントを顧客に返し、最後にページを読み込むのではなく、静的キャッシュは最初の2つの手順からの単一の結果を保存し、そのドキュメントをリクエストを行う他のユーザーに提供します。
静的キャッシングの利点
基本的ですが、静的キャッシングは、特に次の領域で大きな影響を与える可能性があります。
- オーバーヘッドの削減:サイト上のページへのリクエストを処理するためにPHPプロセスを生成する必要はなく、Webサーバーは静的にキャッシュされたページ上のリクエストにHTMLドキュメントを直接提供します。
- すべてのクリックスルートラフィックに「ランディングページ」を提供する:ホームページにアクセスしたり、特定のURLへのリンクをたどったりする人にリソースを費やす代わりに、サイトの他のページの通常の操作を妨げることなく、デフォルトでキャッシュされたページを提供します。
静的キャッシングの制限
ただし、静的キャッシュには制限があり、通常は一時的な解決策としてのみ使用する必要があることを指摘しておきます。 覚えておいてください:
- 静的キャッシュはまさにそれです:静的。 サイトに加えられた変更は、この方法でキャッシュされたページには反映されません。
- 「カート内のアイテム」や顧客のセッションファイルに保存されているその他のデータなどの情報は、これらのページでは機能しません。
静的キャッシングを実装する方法
静的キャッシュを実装する方法はいくつかありますが、手動で実装するための基本的な手順は次のとおりです。
1.SSHを使用してサーバーにログインします。
2. Webルートに別のディレクトリを作成して、静的キャッシュで使用されるHTMLドキュメントを保存します。
3. cURLまたはWgetを使用して、ターゲットページにリクエストを送信し、それぞれのURI名(インデックス、製品など)でディレクトリに保存します。
4. .htaccessファイルの先頭に書き換えを追加して、次のようにリクエストを静的キャッシュファイルにリダイレクトします。
[コード]
RewriteCond%{REQUEST_URI} ^ /?example_category $ [NC]
RewriteRule。*https://www.domain.tld/static/example_category.html[R = 302、L]
[/コード]
または、このプロセスを処理するスクリプトを作成することもできます。 次の例では、各行に個別のURLを使用してファイルを作成できます。 次に、これらのURLが読み取られ、静的キャッシュが生成されます。
[コード言語=” bash”]
#!/ bin / bash
#基本的な引数の検証
if [“ $#” -ne 2]; それから
echo-e「スクリプトに2つの引数を渡す必要があります。\n\ n使用法:./ nexcess_static_cache_helper.sh domain url_list_file\n」
出口1
fi
#ドメインに関するデータを取得する
ドメイン=$1
pages_file = $ 2
#現在のディレクトリに静的ページのディレクトリを作成します
cache_dir = ./ static_cache
もしも ! [[-d $ cache_dir]]; それから
mkdir $ cache_dir
fi
#静的ページをHTMLファイルにダウンロードする
URL_list = $(cat $ pages_file)
$URL_listのURLの場合; 行う
request_uri = $(echo $ URL | cut -d / -f 4-)
if [[-z“ $ request_uri”]]; それから
cache_page_name =” index”
request_uri =” /”
そうしないと
cache_page_name = $(echo $ request_uri | perl -pe's、/ | \。、_、g')
fi
wget -q $ URL -O $ cache_dir / $ cache_page_name.html
echo“ $ request_uri $ cache_page_name” >> $ HOME / temp_url.file
終わり
#htaccessのブロックをフォーマットします
echo -e“ ########”
echo -e「#START:$(date)に生成された静的キャッシュURL書き換え」
echo -e“ ########”
echo-e「RewriteEngineOn」
cat $ HOME / temp_url.file | uriページを読みながら; 行う
echo“ RewriteCond%{REQUEST_URI} ^ /?$ {uri} $ [NC] \ n”
echo“RewriteRule。*https://www.${domain} / static_cache / $ page [R = 302、L] \ n”
終わり
echo -e“ ######”
echo -e「#END:$(date)に生成された静的キャッシュURL書き換え」
echo -e“ ######”
rm $ HOME / temp_url.file
[/コード]

上記のスクリプトを使用するには:
1.サイトのWebルートに移動し、cache_list.txtなどのファイルを作成します。
2.ファイルを開きます。 URLエントリごとに新しい行を使用して、静的にキャッシュする必要がある各ページのURLを追加します。 これは次のようになります。
[コード]
https://www.example.com/
https://www.example.com/sale
https://www.example.com/products
[/コード]
ファイルを保存してから、上記のスクリプトを使用してファイルを作成し、 nexcess_static_cache_helper.shまたは任意の名前で保存します。
ファイルを実行可能にします。
[コード]chmod+ x nexcess_static_cache_helper.sh [/ code]
準備ができたら、スクリプトを実行しますが、代わりに独自のファイル名と実際のドメイン名を使用します。
[コード]./nexcess_static_cache_helper.shexample.com cache_list.txt [/ code]
これにより、静的キャッシュに使用されるHTMLドキュメントを含むstatic_cacheディレクトリがWebルートの下に作成されます。 さらに、端末には次のような出力が表示されます。
[コード]
########
#開始:静的キャッシュURLリライトはMon Sep 18 15:49:11EDT2017で生成されました
########
RewriteEngineオン
RewriteCond%{REQUEST_URI} ^ /?/ $ [NC] \ n
RewriteRule。*https://www.example.com/static_cache/index[R = 302、L] \ n
RewriteCond%{REQUEST_URI} ^ /?sale $ [NC] \ n
RewriteRule。*https://www.example.com/static_cache/sale[R = 302、L] \ n
RewriteCond%{REQUEST_URI} ^ /?products $ [NC] \ n
RewriteRule。*https://www.example.com/static_cache/products[R = 302、L] \ n
######
#END:静的キャッシュURLリライトはMon Sep 18 15:49:11EDT2017で生成されました
######
[/コード]
上記のブロックをコピーして、サイトの.htaccessファイルの先頭に貼り付けます。このファイルは通常、現在のディレクトリにあります。
これで、静的キャッシュが有効になります。 グッドハウスキーピングの精神で、前の手順で生成したファイルを削除します。
[コード]rmnexcess_static_cache_helper.sh cache_list.txt [/ code]
静的キャッシュを無効にする方法
静的キャッシュを無効にするには、.htaccessファイル内に配置されているコードのブロックを削除します。
さらに、ファイルを再生成する必要がある場合は、スクリプトを再度実行すると、HTMLドキュメントが新しいバージョンに置き換えられます。 後で参照できるようにタイムスタンプを更新するために、.htaccessコードブロックも置き換えることをお勧めします。
今あなたは知っています
前述のように、これは一時的な方法であり、主要なパフォーマンス最適化戦略として使用しないでください。 長期的なソリューションについては、最適化ガイドを確認するか、CDNを実装するか、サポートチームに連絡して、Magento、WooCommerce、WordPressのホスティングなどの追加オプションを検討してください。
または、NexcessのマネージドWordPressパッケージをチェックして、サイトのパフォーマンスを最適化する方法を確認してください。