CakePHP は、アプリケーションのパフォーマンスを向上させる完全なキャッシュ管理システムを備えた人気の PHP フレームワークです。しかし、キャッシュされたデータの有効期限が切れた場合、または更新が必要になった場合、どのようにクリアするのでしょうか?この記事では、CakePHP でキャッシュクリアを使用する方法を詳しく説明します。
CakePHP はキャッシュ キーを通じてキャッシュを管理します。単一のキャッシュ データをクリアするには、対応するキャッシュ キーをキャッシュ エンジンの delete メソッドに渡すだけです。
たとえば、「user_list」という名前のキャッシュをクリアするには、次のコードを使用できます。
$this->cache->delete('user_list');
このコードは、キャッシュ エンジンから個々のキャッシュ データを削除します。複数のキャッシュ エンジンを使用する場合、すべてのキャッシュ データを削除するには、すべてのキャッシュ エンジンに同じキャッシュ キーを渡す必要があることに注意してください。
複数のキャッシュ データをクリアする必要がある場合は、バッチ クリアを使用できます。 CakePHP は、指定されたキャッシュ プレフィックス (キャッシュ プレフィックス) のすべてのキャッシュ データをクリアするために使用されるクリア メソッドを提供します。
たとえば、次の 2 つのキャッシュがあるとします。
$this->cache->write('user_list', $userList); $this->cache->write('post_list', $postList);
それらのキャッシュ キーは、「user_list」と「post_list」です。両方のキャッシュを同時に削除するには、次のコードを使用します。
$this->cache->clear('user_');
このコードは、「user_」というプレフィックスが付いたすべてのキャッシュ データをすべてのキャッシュ エンジンから削除します。このようにして、複数のキャッシュ データをバッチでクリアできます。
CakePHP では、キャッシュの有効期限やキャッシュの依存関係を設定することもできます。 CakePHP は、有効期限に達するか依存関係が変更されると、キャッシュ データを自動的にクリアします。
たとえば、次のコードは $userList を 60 秒間キャッシュし、Users テーブルのレコードが変更されると自動的にキャッシュをクリアします。
$this->cache->write('user_list', $userList, 'default', '+60 seconds', $this->Users);
上記のコードでは、「60 秒」キャッシュを意味します 時間は 60 秒です。「$this->Users」は、キャッシュの依存関係が Users テーブルであることを示します。この時点で、Users テーブル内のレコードが変更されると、CakePHP は自動的に「user_list」キャッシュをクリアします。
キャッシュされたデータを特定の間隔内でデータベースから更新する必要がある場合があります。次のメソッドを使用して、キャッシュを手動で強制的に更新できます:
// 获取缓存 $userList = $this->cache->read('user_list'); // 如果缓存不存在或已过期,重新获取数据并更新缓存 if (!$userList) { $userList = $this->User->findAll(); $this->cache->write('user_list', $userList); }
このコードは、最初にキャッシュからデータを取得します。キャッシュが存在しないか期限切れの場合は、ユーザーを再取得します。データベースからリストを取得し、キャッシュに保存します。このようにして、キャッシュを手動で更新できます。
最後に、キャッシュされたデータをすべてクリアする必要がある場合は、次のコードを使用できます:
$this->cache->clear(true);
このコードはすべてをクリアします。キャッシュされたデータとキャッシュ構成はクリアされません。このコードを実行する権限があるのはキャッシュ エンジンの管理者だけであり、通常はアプリケーションでは使用されないことに注意してください。
概要
CakePHP では、キャッシュのクリアはアプリケーションのパフォーマンスと安定性を向上させる非常に重要な部分です。この記事では、単一キャッシュのクリア、バッチでのキャッシュのクリア、自動キャッシュのクリア、手動でのキャッシュの更新、すべてのキャッシュ データのクリアなど、いくつかの一般的なキャッシュ クリア方法を紹介します。これらの方法を使用してキャッシュ データを効果的に管理および操作し、アプリケーションの効率性、安全性、安定性を維持します。
以上がCakePHP でキャッシュクリアを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。