ホームページ  >  記事  >  バックエンド開発  >  thinkPHP5 フレームワーク データベース キャッシュ() の使用法

thinkPHP5 フレームワーク データベース キャッシュ() の使用法

小云云
小云云オリジナル
2018-01-11 11:08:496241ブラウズ

この記事では主に、thinkPHP5 フレームワーク データベースのコヒーレントな操作におけるcache() の使用法を例の形で分析し、thinkPHP5 でのキャッシュの設定、更新、削除の操作スキルを紹介します。一貫した操作を必要とする友人がそれを参考にできることを願っています。

はじめに

TP5 に付属するキャッシュ システムは、ファイル タイプ キャッシュです。つまり、ファイルキャッシュです。ストレージ アドレスは次のとおりです: ルート ディレクトリ..runtimecache (ルート ディレクトリは public を指します)。

redis と比較すると、memcached にはこのキャッシュ システムに間違いなく制限があり、自動更新とキャッシュされたデータの複雑さには違いがあります。ただし、いくつかの単純なクエリには非常に役立ちます。例えば、記事などのコンテンツを利用すると良いでしょう。

cache は、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を指定


//缓存标识可以理解为键,就是当你想要去取出缓存中的某条数据的令牌,id=15的存进cache并且给定下标为key
db('news')->cache('key')->find(15);
//当你想要去取出id=15的这条数据时候
$data = \think\Cahce::get('key');

このデータはセッション()に似ています

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'=>'测试']);
//这时候你再次请求会发现获取的数据改变了 ,这时候不再是读取的缓存,因为你做了更新操作,重新写进缓存了,当然,以上说的这种情况前提是使用的主键查询的

関連おすすめ:

phpのclearstatcache()関数の使い方を詳しく解説

phpのclearstatcache()関数に関するおすすめ記事

ThinkPHP3.1クイックスタート(4)連続操作

以上がthinkPHP5 フレームワーク データベース キャッシュ() の使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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