博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
yii2 刷新缓存(刷新模型缓存)
阅读量:4650 次
发布时间:2019-06-09

本文共 1480 字,大约阅读时间需要 4 分钟。

Yii2开启表结构缓存,因为当运用模型(model)时,AR的一些公共属性都会从DB中获取,这样会导致服务器负担一些额外的资源开销,实际上对于成品来说,服务器这些开始销是多余的,故应该阻止这种默认行为,把表结构进行缓存起来,提高效率.Yii2的缓存值得深入研究学习.

开启数据库表结构的schema缓存的方法:

//配置文件的方式  'db'=>array(      ...      'enableSchemaCache' => true,      'schemaCacheDuration' => 86400, // time in seconds      ...  ),     //区分环境--代码基类里面实现  $dsn = "mysql:host=" . $config['host'] . ":" . $config['port'] . ";dbname=" . $config['name'];  $connection = new Connection([      'dsn' => $dsn,      'username' => $config['user'],      'password' => $config['password']  ]);  $connection->charset = "utf8mb4";  if(YII_ENV == 'prod'){              //正式环境才开启      $connection->enableSchemaCache = true;  }  //........  return $connection;

  

当开启了数据库的表结构缓存之后,需要改动或执行一些改变表结构的sql语句的时候,就会出现表结构被缓存了无法立即修复BUG或故障。这个时候就需要刷新或者清除数据库表结构的缓存信息。

//方法一:清空表结构缓存的方法     //flush all the schema cache  Yii::$app->db->schema->refresh();     //clear the particular table schema cache  Yii::$app->db->schema->refreshTableSchema($tableName);        //方法二:清空所有的缓存--不仅仅是mysql表结构  Yii::$app->cache->flush();        //方法三:使用 yii命令行的方式commond清除缓存  cache/flush                Flushes given cache components.  cache/flush-all            Flushes all caches registered in the system.  cache/flush-schema         Clears DB schema cache for a given connection component.  cache/index (default)      Lists the caches that can be flushed.     //执行   ./yii cache/flush-all

  

Yii::$app->cache->flush();

 

转载于:https://www.cnblogs.com/cxscode/p/9115024.html

你可能感兴趣的文章
FactoryBean
查看>>
Coolite动态加载CheckboxGroup,无法在后台中获取
查看>>
如何在我们项目中利用开源的图表(js chart)
查看>>
nfs服务器工作原理
查看>>
C3P0连接池工具类使用
查看>>
SVN常用命令备注
查看>>
孩子教育
查看>>
解决Cacti监控图像断断续续问题
查看>>
结构体的传参理解成员的存储方式
查看>>
python 进程与线程(理论部分)
查看>>
什么是API
查看>>
Java反射中method.isBridge() 桥接方法
查看>>
[shiro学习笔记]第二节 shiro与web融合实现一个简单的授权认证
查看>>
强名称程序集(strong name assembly)——为程序集赋予强名称
查看>>
1028. List Sorting (25)
查看>>
BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划
查看>>
ubuntu 重启命令,ubuntu 重启网卡方法
查看>>
Linux的学习:
查看>>
JavaScript中的原型继承原理
查看>>
Python logger模块
查看>>