ホームページ >バックエンド開発 >PHPチュートリアル >thinkPHP5 フレームワーク データベースのコヒーレント操作:cache() の使用法の詳細
この記事の例では、thinkPHP5 フレームワーク データベースの一貫した操作のためのcache() の使用法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
はじめに
TP5 に付属するキャッシュ システムはファイル タイプ キャッシュです。つまり、ファイルタイプキャッシュです。ストレージ アドレスは次のとおりです: ルート ディレクトリ..runtimecache (ルート ディレクトリは public を指します)。
redisと比較すると、このキャッシュシステムのmemcachedには確実に制限があり、自動更新やキャッシュされたデータの複雑さに違いがあります。ただし、いくつかの単純なクエリには非常に役立ちます。例えば、記事などのコンテンツを利用すると良いでしょう。
cache は、select、find、value、column メソッドとその派生メソッドに使用できます。キャッシュ メソッドを使用した後は、キャッシュの有効期間内にデータベース クエリ操作が再度実行されることはありませんが、キャッシュ内のデータは削除されます。データ キャッシュについて タイプと設定はキャッシュ セクションにあります。
ストレージキャッシュ
1. 単純なストレージ
// ニューステーブルの id=10 でニュースをクエリし、キャッシュに保存します。デフォルトで設定されたキャッシュ時間を読み取ります。 db(): アシスタント関数。
db('news')->cache(true)->find(10); //你也可以自定义时间,60秒表示 db('news')->cache(true,60)->find(10);
2. キャッシュ識別子を指定します //キャッシュ識別子はキーとして理解できます。つまり、キャッシュ内の特定のデータのトークンを取得する場合、id=15はキャッシュに保存され、指定された添え字がキーです
db('news')->cache('key')->find(15);//id=15のデータを取得したい場合
$data = \think\Cahce::get('key');このデータはどこからでも読み取ることができ、session()と似ています。 3. キャッシュ メソッドはキャッシュ タグの設定をサポートします
db('news')->cache('key',60,'tagName')->find(15);キャッシュを更新します ここで、プロジェクトが一定期間実行されると、大量のキャッシュ ファイルが生成されます。ファイルの数はますます増え、リクエストごとにキャッシュ ファイルを探すのにかかる時間は、データベースに直接クエリするよりも遅くなる可能性があります。どうすればいいですか? TP5にはキャッシュの自動更新方法があります。つまり、同じデータが削除または更新されると、古いキャッシュ ファイルは自動的に削除されます。 /id=328 でキャッシュをクエリします$list = db('news')->cache(true)->find(328);//テストのために、手動でデータベース id=328 のフィールドの値を変更し、最初のクエリ リクエストを再度実行すると、データベース内の変更されたフィールドが変更されていないことがわかります。その後、db(' news')->update( ['id'=>328,'title'=>'Test']);//このタイミングで再度リクエストすると取得データが変わっていることがわかります. この時点では、更新操作が実行され、キャッシュに書き換えられたため、読み取りキャッシュではなくなりました。 もちろん、上記の状況の前提として、主キー クエリが使用されます。 thinkPHP5 フレームワーク データベースのコヒーレントな操作のための cache() の使用について説明しています。関連コンテンツの詳細については、php 中国語 Web サイトを参照してください。 関連する推奨事項:
多重継承効果を達成するための PHP インターフェイスの多重継承と tarits メソッド チュートリアルの詳細
特定の年の週の開始日と終了日を取得する方法に関する PHP チュートリアル
以上がthinkPHP5 フレームワーク データベースのコヒーレント操作:cache() の使用法の詳細の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。