Maison  >  Article  >  développement back-end  >  Utilisation du cache () de la base de données du framework thinkPHP5

Utilisation du cache () de la base de données du framework thinkPHP5

小云云
小云云original
2018-01-11 11:08:496290parcourir

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 de configuration, mise à jour, suppression du cache. dans l'opération cohérente. Les amis dans le besoin peuvent s'y référer. Ensuite, j'espère que cela pourra aider tout le monde.

Introduction

Le système de cache fourni avec TP5 est un cache de type fichier. 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, ce système de cache a définitivement des limites dans Memcached, et la complexité des mises à jour automatiques et des données mises en cache est différente. 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 mise en cache pour les types et paramètres de mise en cache des données.

Cache de stockage

Stockage simple


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

2 . Spécifiez l'identifiant du cache


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

Vous pouvez lire ces données n'importe où, ce qui est similaire à session()

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


db('news')->cache('key',60,'tagName')->find(15);

mise à jour du cache

Maintenant, il y a un problème, lorsque votre. Le projet est en cours d'exécution depuis un certain temps, il générera beaucoup de fichiers de cache. Il y a de plus en plus de fichiers. Le temps perdu à rechercher des fichiers de cache à chaque fois que vous le demandez peut être plus lent que d'interroger directement la base de données. 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'=>'测试']);
//这时候你再次请求会发现获取的数据改变了 ,这时候不再是读取的缓存,因为你做了更新操作,重新写进缓存了,当然,以上说的这种情况前提是使用的主键查询的

Recommandations associées :

Explication détaillée de l'utilisation de la fonction php clearstatcache()

Articles recommandés sur php clearstatcache( ) fonction

ThinkPHP3.1 Quick Start (4) Opérations consécutives

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!

Déclaration:
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