ホームページ >PHPフレームワーク >ThinkPHP >thinkphpでキャッシュを削除する方法

thinkphpでキャッシュを削除する方法

PHPz
PHPzオリジナル
2023-04-17 09:50:091976ブラウズ

開発に thinkphp を使用する場合、キャッシュを使用すると Web サイトのパフォーマンスが向上し、データベース クエリの数が減り、Web サイトの応答速度が向上します。ただし、キャッシュ有効期限の設定が適切でなかったり、キャッシュデータが変更されたりした場合には、キャッシュの削除が必要となります。この記事では、thinkphpのキャッシュを削除する方法を説明します。

  1. キャッシュ有効期限の設定

thinkphp を使用してキャッシュ操作を行う場合は、キャッシュ有効期限を指定する必要があります。これは、config ディレクトリの cache.php ファイルで設定できます。コードは次のとおりです。

return [
    // 默认设置的缓存
    'default' => env('cache.driver', 'file'),

    // 缓存连接参数
    'stores' => [
        // 文件缓存
        'file' => [
            'driver' => 'file',
            'path'   => env('cache.path', app()->getRuntimePath() . 'cache'),
        ],

        // Redis缓存
        'redis' => [
            'driver' => 'redis',
            'host'   => env('cache.redis.host', '127.0.0.1'),
            'port'   => env('cache.redis.port', 6379),
            'password' => env('cache.redis.password', ''),
            'select' => env('cache.redis.select', 0),
            'timeout' => env('cache.timeout', 0),
            'expire' => env('cache.expire', 0),
            'persistent' => env('cache.redis.persistent', false),
            'prefix' => '',
            'serialize' => [],
        ],
    ],

    // 缓存配置
    'cache' => [
        // 驱动方式
        'type'  => 'File',
        // 缓存保存目录
        'path'  => '../runtime/cache/',
        // 缓存前缀
        'prefix'=> '',
        // 缓存有效期 0表示永久缓存
        'expire'=> 0,
    ],
];

上記のコードでは、cache.php ファイル内の構成項目が非常に明白です。各設定項目の意味は次のとおりです。

  • default: デフォルトのキャッシュ タイプは、指定された環境変数のcache.driver の値に応じて、ファイル、redis などになります。
  • ストア: 複数のタイプのキャッシュ、ファイル キャッシュ、Redis キャッシュをサポートします。
  • driver: ファイル、redis などのキャッシュ タイプを指定します。
  • cache: キャッシュのプロパティを構成します。

特定のビジネス コードでは、キャッシュ操作に Cache クラスを使用します。たとえば、キャッシュを設定する場合、次のコードを使用できます。

use think\facade\Cache;

// 设置缓存
Cache::set('key', 'value', 3600);

上記のコードでは、set メソッドの最初のパラメータはキー、2 番目のパラメータは値、3 番目のパラメータはキャッシュです。有効期限、単位は秒です。キャッシュを設定したら、get メソッドを使用してキャッシュ データを取得できます。例:

use think\facade\Cache;

// 获取缓存
$value = Cache::get('key');
  1. キャッシュの削除

キャッシュ データの有効期限が切れたり変更されたりした場合は、キャッシュの削除が必要です。 thinkphp には、キャッシュを削除するための delete メソッドが用意されています。例:

use think\facade\Cache;

// 删除缓存
Cache::delete('key');

上記のコードでは、delete メソッドのパラメータはキャッシュ キーで、これは削除する必要があるキャッシュの名前です。

モジュール開発を行う場合、特定のモジュールの下にあるすべてのキャッシュ データを削除する必要があります。例:

use think\facade\Cache;

// 删除某个模块下的全部缓存数据
Cache::clear('module');

上記のコードでは、clear メソッドのパラメータはモジュール名であり、これは削除する必要があるモジュール名です。キャッシュの削除操作を実行するときは、削除されたキャッシュ名がキャッシュの設定時の名前と一致していることを確認する必要があります。一致しないと、設定されたキャッシュを削除できません。

  1. キャッシュの無効化

キャッシュされたデータをすべて無効にする必要がある場合は、キャッシュ フラッシュ方法を使用する必要があります。例:

use think\facade\Cache;

// 失效所有缓存数据
Cache::clear();

上記のコードでは、パラメータを指定しないクリア メソッドを使用すると、キャッシュされたデータをすべて無効にすることができます。キャッシュクリア操作を実行する場合は、キャッシュされたデータを誤って削除しないように注意して操作する必要があります。

概要:

開発に thinkphp を使用する場合、キャッシュは Web サイトのパフォーマンスを向上させる重要な手段です。キャッシュの有効期限が切れたり、データが変更されたりした場合は、キャッシュを削除する必要があります。 thinkphp は、特定のモジュールまたはすべてのモジュールのキャッシュをクリアし、キャッシュされたすべてのデータを無効にするメソッドを提供します。キャッシュの削除操作を実行するときは、削除されたキャッシュ名がキャッシュの設定時の名前と一致していることを確認する必要があります。キャッシュクリア操作を実行する場合は、キャッシュされたデータを誤って削除しないように注意して操作する必要があります。

以上がthinkphpでキャッシュを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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