インターネット アプリケーションの人気に伴い、Web サイトの応答速度がユーザーにとってますます重視されるようになりました。ユーザーのリクエストに迅速に応答するために、Web サイトでは多くの場合、キャッシュ テクノロジを使用してデータをキャッシュし、データベース クエリの数を減らします。ただし、キャッシュの有効期限は応答速度に重要な影響を与えます。この記事では、PHP 開発者がキャッシュ テクノロジーをより適切に適用できるように、キャッシュの有効期限を制御する方法について説明します。
1. キャッシュの有効期限とは何ですか?
キャッシュ有効期限とは、キャッシュ内のデータの有効期限が切れたとみなされる時間を指します。キャッシュ内のデータをいつ更新する必要があるかを決定します。ほとんどの場合、キャッシュ内のデータがソース データと確実に同期されるように、キャッシュ内のデータは一定期間後に期限切れになります。
2. キャッシュの有効期限を制御する必要があるのはなぜですか?
キャッシュの有効期限を制御する目的は、キャッシュ内のデータが古くならないようにして、Web サイトの応答速度を確保することです。キャッシュされたデータの有効期限が切れると、キャッシュ ヒット率が低下し、サーバーの負荷が増加する可能性があります。
3. キャッシュの有効期限を制御する方法
1. 有効期限の設定
memcache キャッシュを使用する場合、有効期限を設定することでキャッシュの有効期限を制御できます。例:
$key = 'user:1'; $val = $memcache->get($key); if ($val === false) { $val = db_query('SELECT * FROM user WHERE id = ?', $id); $memcache->set($key, $val, MEMCACHE_COMPRESSED, 3600); //设置过期时间为3600秒 }
このコードでは、memcache->set() 関数の 4 番目のパラメーターは、キャッシュされたデータの有効期間を秒単位で示します。
2.自動有効期限キャッシュを使用する
自動有効期限キャッシュとは、キャッシュされたデータの有効期限が切れると、キャッシュがソース データから自動的に更新されることを意味します。この方法では、キャッシュを使用するときにキャッシュの自動有効期限を設定する必要があり、キャッシュ時間が期限切れになると、次のキャッシュ要求時にソース データからキャッシュが自動的に更新されます。例:
$key = 'user:1'; $val = apc_fetch($key, $success); if (!$success) { $val = db_query('SELECT * FROM user WHERE id = ?', $id); apc_add($key, $val, 3600); //设置过期时间为3600秒 }
このコードでは、apc_add() 関数がキャッシュ時間を設定した後、キャッシュの有効期限が切れた後、キャッシュが存在しなくなった場合、キャッシュはソース データから自動的に更新されます。
3. OPcache を使用する
OPcache は、コンパイルされた PHP スクリプトをキャッシュできる PHP の拡張機能です。 OPcache を有効にすると、PHP スクリプトは 1 回だけコンパイルおよび解釈され、コンパイルされた結果はメモリにキャッシュされるため、PHP コードの実行効率が向上します。 OPcache のキャッシュ有効期限は、OPcache 構成ファイル内のパラメータによって決まります。例:
[opcache] opcache.enable=1 opcache.enable_cli=0 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_file_override=0
この構成ファイルの opcache.revalidate_freq パラメータは、キャッシュされたデータを再検証する必要がある期間を示し、OPcache のキャッシュ有効期限を決定します。
4. 概要
キャッシュの有効期限の制御は、PHP 開発者が習得しなければならないスキルの 1 つです。実際のアプリケーションでは、開発者は、アプリケーションのシナリオと要件に基づいて、適切なキャッシュ テクノロジを選択し、適切なキャッシュ有効期限を選択する必要があります。同時に、アプリケーションのキャッシュデータを定期的にクリーンアップして更新することも必要です。キャッシュ技術を合理的に利用し、キャッシュの有効期限を制御することで、Webサイトの応答速度を向上させ、ユーザーエクスペリエンスを向上させることができます。
以上がPHPでキャッシュの有効期限を制御するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。