# 查询缓存
通常我们在使用select和find的时候,希望查询结果缓存下来,但是又需要调用cache(), 还要写判断语句,为了避免这种麻烦,HYPHP 直接在Model中内置了 查询缓存。
## 通常使用Select
~~~
<?php
namespace Action;
use HY\Action;
class Index extends Action {
public function Index(){
$User = S("User");
$User->select('user',array(
"uid" =>1,
));
}
}
~~~
上面的代码 select 获取user表 uid为1的用户
这是一个我们常用的查询方法。而且是固定的结果。
但是每次访问都必须执行这个SQL去获取。 所以会消耗服务器资源。
所以我们有必要将这个查询结果缓存下来。
## 使用查询缓存
S()->cache($key,$expire=NULL)->select()
->cache(缓存键名,缓存过期时间)->select()
~~~
<?php
namespace Action;
use HY\Action;
class Index extends Action {
public function Index(){
$User = S("User");
$User->cache('user',10)->select('user',array(
"uid" =>1,
));
}
}
~~~
上面的代码 缓存10秒这个select查询得到的数据 缓存键名为user
~~~
<?php
namespace Action;
use HY\Action;
class Index extends Action {
public function Index(){
$User = S("User");
$User->cache(true,10)->select('user',array(
"uid" =>1,
));
}
}
~~~
->cache(true,10)
缓存键名填写 true 则会按照这条sql做 自动补充键名。
~~~
<?php
namespace Action;
use HY\Action;
class Index extends Action {
public function Index(){
$User = S("User");
$User->cache(true)->select('user',array(
"uid" =>1,
));
}
}
~~~
看到上面代码,cache没有输入过期时间。则该缓存会永久缓存
- HYPHP框架前言
- 基本认识
- 环境要求
- 框架目录结构
- 入口文件
- 开始使用
- 访问框架
- 控制器
- 控制器定义
- 空控制器空函数
- 显示模板
- 模板变量赋值
- Json输出
- URL缩短控制器方法
- URL生成
- 请求类型
- 模板
- 建立模板
- 模板分组
- ----标签类----
- 输出变量
- 包含模板
- 判断标签
- 循环标签
- 数据库模型
- 数据库介绍
- 连接数据库
- 多数据库
- 配置多数据库
- 使用多数据库
- where条件
- 基础where
- AND OR
- LINK 模糊查找
- ORDER 排序
- MATCH 多键搜索
- 数据库内置函数
- LIMIT
- Select
- 多表Select
- Insert 插入数据
- Update 更新数据
- Delete 删除数据
- Find 查找一行
- Has 是否存在该数据
- Count 总数
- Max/Min 表最大/小值
- Action 事务
- 原生查询
- Model 定义
- 调试模式
- 查询缓存
- 自定义类库
- 框架内置函数
- X 获取预定义变量
- S 与 M 函数
- C 获取config配置
- A 调用另一个控制器方法
- cookie 与 session 函数
- E 函数
- cache 数据缓存
- F 文件数据缓存
- 判断电脑端移动端
- vendor 映射自动加载类路径
- 框架内置常量
- 框架内置Config.php配置
- 插件模式
- 开启插件模式
- 新建插件
- 插件独立开关
- 中文PHP
- 简介
- 开启支持
- 中文API
- 使用示例
- 加入自定义中文函数配置