美文网首页
Yii2缓存组件之数据库查询缓存

Yii2缓存组件之数据库查询缓存

作者: HongXunPan | 来源:发表于2017-11-22 16:51 被阅读0次

查询缓存

查询缓存是一个建立在数据缓存之上的特殊缓存特性。它用于缓存数据库查询的结果。(PS需配置好缓存配置)

查询缓存需要一个 [[yii\db\Connection|数据库连接]] 和一个有效的cache应用组件。查询缓存的基本用法如下,假设$db是一个 [[yii\db\Connection]] 实例:

$duration = 60; // 缓存查询结果60秒

$dependency = ...; // 可选的缓存依赖

$db->beginCache($duration, $dependency); // ...这儿执行数据库查询...

$db->endCache();

如你所见,beginCache()和endCache()中间的任何查询结果都会被缓存起来。如果缓存中找到了同样查询的结果,则查询会被跳过,直接从缓存中提取结果。

查询缓存可以用于ActiveRecordDAO

Info: 有些 DBMS (例如:MySQL)也支持数据库服务器端的查询缓存。你可以选择使用任一查询缓存机制。上文所述的查询缓存的好处在于你可以指定更灵活的缓存依赖因此可能更加高效。

来自GitHub Yii2中文文档

相关文章

  • Yii2缓存组件之数据库查询缓存

    查询缓存 查询缓存是一个建立在数据缓存之上的特殊缓存特性。它用于缓存数据库查询的结果。(PS需配置好缓存配置) 查...

  • redis 缓存穿透、缓存击穿和缓存雪崩

    缓存穿透 缓存穿透是指查询一条数据库和缓存都没有的一条数据,就会一直查询数据库,对数据库的访问压力就会增大,缓存穿...

  • 分布式缓存(一)

    分布式缓存(一) 数据库缓存 Mysql 查询缓存(Query cache) 当打开了Query Cache功能,...

  • 数据库扩展解决方案

    1. 缓存数据库查询 缓存数据库查询是可以处理数据库负载的最简单的改进之一。通常,应用程序将包含少数查询,这些查询...

  • Java的缓存框架ehcache

    JVM内置缓存。流程大致就是,查询某个数据,先查询缓存有没有,没有就查数据库,然后把数据添加到缓存,如果缓存有,就...

  • MySQL多表查询及子查询

    1. MySQL数据库执行查询操作时的查询流程: 请求-->查询缓存请求-->查询缓存-->解析器-->预处理器-...

  • 13 | 缓存的使用姿势(一):如何选择缓存的读写策略?

    今天,我们先讲讲缓存的读写策略。你可能觉得缓存的读写很简单,只需要优先读缓存,缓存不命中就从数据库查询,查询到了就...

  • django的cache

    查询逻辑就是先获取缓存,没有就去获取数据库的数据,写入缓存

  • 缓存故障三类

    ##缓存击穿: 大量查询某个key,正好这个key不在缓存里,造成大量数据库查询 - 同一个key的数据库查询加锁...

  • mybatis缓存机制

    mybatis缓存机制 简介: mybatis提供查询缓存,用于减轻数据库压力,提高数据库性能 mybatis提供...

网友评论

      本文标题:Yii2缓存组件之数据库查询缓存

      本文链接:https://www.haomeiwen.com/subject/uikovxtx.html