# 全自动缓存
* * * * *
上面讲解的缓存可以说是半自动的,因为还是需要人为写代码来进行管理,比如某商品被下架了 缓存下来的列表数据不会自动更新。
下面咱们来看下全自动缓存的策略
![](https://box.kancloud.cn/b1e4f487f0ebdb5960715c1d7e63ff4f_790x960.png)
**全自动缓存使用须知**
1.若开启了全自动缓存则直接进行数据表数据操作不会被更新(建议开发阶段不要启动,启动自动缓存后若直接操作数据表会导致数据显示不正确)
2.若使用全自动缓存需要使用支持的方法进行数据表操作(包括查询与更新)
3.启动全自动缓存后也可以通过属性值控制是否需要读取缓存或更新缓存
**全自动缓存启用**
将app目录下的config.php文件中配置is_auto_cache设置为 true(开启后建议将runtime目录清空)
设置为false则为关闭全自动缓存
**全自动缓存支持的查询方法**
目前全自动缓存仅支持 getList,getInfo 方法,分别用于查询列表与查询单条数据
**全自动缓存支持的更新方法**
setInfo,updateInfo,setList,setFieldValue,deleteInfo
若这些内置的方法满足不了您的需求,可自己加上封装的方法(记得加上$this->updateCache($this);此方法才能自动更新缓存哈)
**部分操作不需要更新缓存设置**
~~~
$this->modelActionLog->is_update_cache_version = false;
~~~
比如某些场景咱们不想操作后让此缓存更新则可以使用上面的属性,若不写这句的话默认会自动更新
**部分查询不需要查询缓存设置**
~~~
$this->modelActionLog->no_auto_cache = true;
~~~
比如某些查询列表或查询单条记录不希望从缓存中自动获取,可以使用以上属性控制获取最新数据
- 序言
- 基础
- 安装环境
- 安装演示
- 规范
- 目录
- 介绍
- 后台介绍
- 后台首页
- 会员管理
- 系统管理
- 系统设置与配置管理
- 菜单管理
- 系统回收站
- 服务管理
- 插件管理
- 文章管理
- 接口管理
- 优化维护
- SEO管理
- 数据库
- 文件清理
- 行为日志
- 执行记录
- 统计分析
- 接口介绍
- 接口文档
- 错误码设计
- Token介绍
- 前台介绍
- 架构
- 架构总览
- 生命周期
- 入口文件
- 模块设计
- 依赖注入
- 控制器架构
- 逻辑架构
- 验证架构
- 服务架构
- 模型架构
- 行为架构
- 插件架构
- 配置
- 配置介绍
- 配置加载
- 配置扩展
- 请求
- 请求信息
- 日志
- 后台行为日志
- 系统执行日志
- 框架日志
- 数据
- 数据库设计
- 数据字典
- 数据库操作
- 事务控制
- 混合操作
- 实战
- 控制器
- 逻辑与验证
- 视图与模型
- 插件研发
- 服务研发
- 接口研发
- 杂项
- 数据导入导出
- 二维码条形码
- 邮件发送
- 云存储服务
- 支付服务
- 短信服务
- 微信分享
- 生成海报
- 聊天室
- PJAX
- Demo
- Widget
- 附录
- 常量参考
- 配置参考
- 函数参考
- 进阶
- Redis
- 自动缓存
- 全自动缓存
- 索引
- 数据签名
- 全自动事务
- 队列