この記事では主に、thinkPHP5 フレームワーク データベースのコヒーレントな操作におけるキャッシュ() の使用法を紹介し、thinkPHP5 におけるキャッシュの適用シナリオを例の形で分析し、キャッシュの設定、更新、削除などの操作スキルを紹介します。必要な方は以下を参照してください
この記事の例では、thinkPHP5 フレームワーク データベースのコヒーレント操作のための、cache() の使用法について説明します。参考までに皆さんと共有してください。詳細は次のとおりです:
はじめに
TP5 に付属するキャッシュ システムはファイル タイプです。キャッシュ。つまり、ファイルタイプキャッシュです。ストレージアドレスは、ルートディレクトリ\..\runtime\cache (ルートディレクトリはパブリックを指します) です。
このキャッシュシステムのmemcachedはredisと比べると確実に限界があり、自動更新やキャッシュデータの複雑さに違いがあります。ただし、いくつかの単純なクエリには非常に役立ちます。例えば、記事などのコンテンツを利用すると良いでしょう。
キャッシュは、select、find、value、column メソッドとその派生メソッドに使用できます。キャッシュ メソッドを使用した後、キャッシュの有効期間内にデータベース クエリ操作は再度実行されませんが、キャッシュ内のデータは直接取得されます。データ キャッシュの種類と設定については、キャッシュのセクションを参照してください。
#ストレージ キャッシュ
1. 単純なストレージ//查询news表中id=10的新闻存储于cache中,写true默认读取配置的中缓存时间,db():助手函数 db('news')->cache(true)->find(10); //你也可以自定义时间,60秒表示 db('news')->cache(true,60)->find(10);2 . キャッシュ識別子を指定します
//缓存标识可以理解为键,就是当你想要去取出缓存中的某条数据的令牌,id=15的存进cache并且给定下标为key 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的存进cache $list = db('news')->cache(true)->find(328); //现在进行测试下,你手动去数据库修改id=328的某个字段的值,然后再次进行第一次的查询请求发现数据库修改的字段没变,这时候就是读取的缓存,然后 db('news')->update(['id'=>328,'title'=>'测试']); //这时候你再次请求会发现获取的数据改变了 ,这时候不再是读取的缓存,因为你做了更新操作,重新写进缓存了,当然,以上说的这种情况前提是使用的主键查询的興味があるかもしれない記事:
thinkPHP3.2 はページング カスタム スタイルを実装します メソッドの説明
以上がthinkPHP5 フレームワーク データベース コヒーレント操作におけるキャッシュ() の使用法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。