数据库-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端人工删除。
SW-X