数据库-ORM操作,依赖\x\Db
组件实现。
cache()
方法为缓存组件,需要先配置/config/redis.php
支持。
cache()
只对select()
、find()
、value()
、sum()
、avg()
、min()
、max()
、count()
这几个查询方法有效。
若Select语句最终执行异常,结果将不写入缓存中。
例如:
$Db = new \x\Db();
// 默认使用MD5(sql语句)做为缓存标识
$Db->name('user')->cache()->select();
// 也可以自定义缓存标识
$Db->name('user')->cache('user_info')->select();
注意:当你主动设置缓存标识符时,该key
在Redis中是唯一的,并不是单个请求中唯一,这点需要注意。
默认情况下,cache()
的缓存时间默认是3600秒。
如果需要设置过期时间,可以调用expire()
方法,传入的单位是秒
。
$Db = new \x\Db();
// 启用缓存,60秒后过期
$list = $Db->name('user')->cache()->expire(60)->select();
注意:若需要永久有效期则传入0
,同时注意,当设置永久有效后,该缓存key
将无法被框架主动销毁或修改,只能通过Redis端人工删除。