Maison > développement back-end > tutoriel php > Explication détaillée de l'utilisation de cache() dans le fonctionnement cohérent de la base de données du framework thinkPHP5

Explication détaillée de l'utilisation de cache() dans le fonctionnement cohérent de la base de données du framework thinkPHP5

jacklove
Libérer: 2023-04-02 08:32:02
original
2116 Les gens l'ont consulté

Cet article présente principalement l'utilisation de cache() dans le fonctionnement cohérent de la base de données du framework thinkPHP5. Il analyse les scénarios d'application du cache dans thinkPHP5 sous forme d'exemples et les compétences opérationnelles telles que la définition, la mise à jour et la suppression du cache. cache dans les opérations cohérentes.Les amis qui en ont besoin Vous pouvez vous référer à ce qui suit

Cet article décrit l'utilisation de cache() pour les opérations cohérentes de la base de données du framework thinkPHP5. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Introduction

Le système de cache fourni avec TP5 est un type de fichier cache. C'est-à-dire le cache de type de fichier. L'adresse de stockage est : répertoire racine..runtimecache (le répertoire racine fait référence à public).

Par rapport à Redis, Memcached a définitivement des limites dans ce système de mise en cache, et il existe des différences dans la complexité des mises à jour automatiques et des données mises en cache. Mais c'est très utile pour certaines requêtes simples. Par exemple, les articles et autres contenus sont bons à utiliser.

le cache peut être utilisé pour les méthodes select, find, value et column, ainsi que leurs méthodes dérivées. Après avoir utilisé la méthode cache, l'opération de requête de base de données ne sera pas effectuée à nouveau pendant la période de validité du cache, mais le cache. les données dans le cache seront obtenues directement, veuillez vous référer à la section cache pour les types et paramètres de cache de données.

Cache de stockage

1.Stockage simple

//查询news表中id=10的新闻存储于cache中,写true默认读取配置的中缓存时间,db():助手函数
db('news')->cache(true)->find(10);
//你也可以自定义时间,60秒表示
db('news')->cache(true,60)->find(10);
Copier après la connexion

2. Spécifiez l'identifiant du cache

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

Vous pouvez lire ces données n'importe où, comme session()

3. La méthode prend en charge la définition des balises de cache

db('news')->cache('key',60,'tagName')->find(15);
Copier après la connexion

Mettre à jour le cache

Maintenant, il existe un problème. Lorsque votre projet est en cours d'exécution depuis un certain temps, il générera beaucoup de fichiers de cache. Chaque fois que vous demandez à trouver le fichier de cache, le temps perdu peut être plus qu'une requête directe. La base de données est plus lente. Ce qu'il faut faire?

TP5 dispose d'une méthode de mise à jour automatique du cache. Autrement dit, lorsque les mêmes données sont supprimées ou mises à jour, l'ancien fichier cache sera automatiquement supprimé.

//查询id=328的存进cache
$list = db('news')->cache(true)->find(328);
//现在进行测试下,你手动去数据库修改id=328的某个字段的值,然后再次进行第一次的查询请求发现数据库修改的字段没变,这时候就是读取的缓存,然后
db('news')->update(['id'=>328,'title'=>'测试']);
//这时候你再次请求会发现获取的数据改变了 ,这时候不再是读取的缓存,因为你做了更新操作,重新写进缓存了,当然,以上说的这种情况前提是使用的主键查询的
Copier après la connexion

Articles qui pourraient vous intéresser :

thinkPHP3.2 implémente la personnalisation de la pagination Explication de méthodes de style

Exemple de solution de fonction de téléchargement multi-images implémentée par le framework Laravel + BlobAnalyse

La nouvelle version de Swoole 1.10.0 est publiée, ajoutant un certain nombre de nouvelles fonctionnalités d'analyse

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal