検索
ホームページphp教程PHP开发apache は mod_cache を使用して画像などをキャッシュします。

1. はじめに

画像と静的ファイルのキャッシュについては、以前に 2 つの記事を書きました。1 つは、squid を使用したキャッシュです。もちろん、Apache を使用して画像と静的ファイルをキャッシュすることもできます。インストールと設定を完了する方法を詳しく説明します

次に、mod_cache、mod_mem_cache、mod_disk_cacheをインストールします

まず、Apacheをインストールするときにこれらのモジュールがインストールされているかどうかを確認してください。インストールされていない場合は、モジュールをインストールする方法を参照してください。 apache がインストールされているか確認してください

[zhangy@BlackGhost error]$ /usr/local/apache2/bin/httpd -l

mod_cache.c、mod_mem_cache.c、mod_disk_cache.c がない場合は、mod_mem_cache を意味しますmod_disk_cache と mod_disk_cache はインストールされていません。インストールするには、2 つのうちの 1 つを選択できます

3 つのメモリ キャッシュ設定

nano /usr/local/apache2/conf/httpd.conf

LoadModule queue_module modules/mod_cache.so
< ;IfModule mod_cache.c>
LoadModule mem_cache_module modules/mod_mem_cache.so

CacheEnable mem /images
MCacheSize 4096
MCacheRemovalAlgorithm LRU
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 204 8
CacheMaxExpire 864000
CacheDefaultExpire 86400
CacheDisable /php


説明:

1、CacheEnable mem /images は画像の下のコンテンツをキャッシュします。ここでの mem は単なるキャッシュ タイプであり、mod_cache にメモリ ストレージ マネージャーを使用するよう指示します。 mod_mem_cache を実装することによって。キャッシュ タイプ ディスクは、mod_cache に mod_disk_cache のディスクベースのストレージ管理実装を使用するように指示します。キャッシュ タイプ、fd は mod_cache にファイル記述子キャッシュ実装 mod_mem_cache

2、MCacheSize の最大メモリ使用量、キャッシュに挿入されたオブジェクトとオブジェクト サイズが残りのメモリより大きい場合、新しいオブジェクトがキャッシュできるまで削除されます。 削除されたオブジェクトは、指定されたアルゴリズム MCacheRemovalAlgorithm

3、MCacheRemovalAlgorithm キャッシュ アルゴリズムを使用して選択されます:

LRU (最近使用されていないもの)

LRU は、アクセス時間が最も長くないファイルを削除します。

GDSF (GreadyDual サイズ)

GDSF は、ファイル料金、キャッシュ サイズ、ミスに基づいて優先ファイル キャッシュを割り当てます。優先度が最も低いファイルが最初に削除されます。

4 デフォルトのキャッシュ有効期限

9、CacheDisable /php は php の下のコンテンツをキャッシュしません

メモリにキャッシュされているかどうかを確認します

apache でメモリにキャッシュされたものがあるかどうかを確認しますが、確認するのは簡単ではありません、チェックするための特別なツールはありません。私の方法は次のとおりです。

1、画像を参照 http://localhost/images/http_imgload.cgi.jpeg

2、[zhangy@BlackGhost エラー]をチェック $ top -b - n1

3、画像を参照 http://localhost/images/myself.jpeg

4、[zhangy@BlackGhost エラー]を確認 $ top -b -n1

6018 zhangy 20 0 52612 8172 2484 S 0 0.8 0: 00.03 httpd

6020 ジャンギー 20 0 52604 8168 2488 S 0 0.8 0:00.02 httpd

6021 ジャンギー 20 0 52604 8100 2440 S 0 0.8 0:00.00 httpd

6022 ジャンギー 20 0 52604 81 00 2440 S 0 0.8 0:00.00 httpd

6033張ギー 20 0 6584 1808 1396 S 0 0.2 0:00.02 bash

6076 張ギー 20 0 52612 8136 2464 S 0 0.8 0:00.02 httpd

6077 張ギー 20 0 52612 8124 8 S 0 0.8 0: 00.05 httpd

6078 ジャンジー 20 0 52612 8168 2488 S 0 0.8 0:00.12 httpd

6079 ジャンギー 20 0 52612 8168 2488 S 0 0.8 0:00.03 httpd

6080 ジャンギー 20 0 52612 8168 2488 S 0 0.8 0:00.06 httpd
60 81 ジャンギー 20 0 52612 8116 2448 S 0 0.8 0:00.00 httpd

上記の 4 を介して段階的に操作すると、上記の太字の RES が継続的に増加していることがわかります。このことから、構成が成功していることがわかります。

4、ハードディスクキャッシュ構成

nano /usr/local/apache2/conf/httpd.conf

LoadModule キャッシュ_モジュール モジュール/mod_cache.so

LoadModule ディスク_キャッシュ_モジュール モジュール/mod_disk_cache.so

CacheRoot /home/zhangy/cachetest
#CacheSize 2 56
キャッシュ有効化ディスク/
CacheDirLevels 4
#CacheMaxFileSize 64000
#CacheMinFileSize 1
#CacheGcDaily 23:59
CacheDirLength 3


説明:キャッシュルート /home/zhangy/cachetest ディレクトリキャッシュが保存されます

2, #CacheSize 256 キャッシュ領域のサイズ単位 KB

3, CacheEnable ディスク / キャッシュモードの設定

4, #CacheMaxFileSize 64000 最大キャッシュファイルサイズ

5, #CacheMinFileSize 1 最小キャッシュファイルサイズ

6 , #CacheGcDaily 23:59 キャッシュのクリーンアップ時間

7, CacheDirLength 3 キャッシュフォルダー名のサブ文字の長さ

8, CacheDirLevels 4 キャッシュディレクトリ、サブディレクトリレベル

コメントアウトされた部分は私の Apache バージョンではサポートされていません。公式マニュアルに載ってますよ。具体的な要件については、公式 Web サイトを参照してください

キャッシュを確認します:

1.cacheroot に何かがあるかどうかを確認します

CacheRoot の下に何かあれば、それは OK であることを意味します。

2、htcacheclean を使用して表示します

[root@BlackGhost キャッシュ]# /usr/sbin/htcacheclean -v -p /home/zhangy/cachetest -l 1024M

統計:

サイズ制限 1024.0M

合計サイズは 29.2K 、合計サイズは 29.2K になりました

合計エントリ数は 3、合計エントリ数は 3 になりました

htcacheclean いくつかのパラメータの説明

-d キャッシュをクリアする頻度

-D はキャッシュのクリアをシミュレートしますが、実際には明確ではありません

- v 統計情報の表示

-r 完全クリア

-t 空のディレクトリをクリア

-p キャッシュディレクトリ

-l キャッシュサイズを制限

上記は、Apache が mod_cache を使用して画像などをキャッシュする内容です。その他の関連コンテンツ PHP 中国語 Web サイト (www.php.cn)!

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)