Query类cache方法增加第三个参数 用于设置缓存标签

This commit is contained in:
thinkphp
2016-09-03 21:41:33 +08:00
parent 26146d06f5
commit 0e4549fe76

View File

@@ -403,8 +403,12 @@ class Query
$result = $pdo->fetchColumn();
if (isset($cache)) {
// 缓存数据
if (isset($cache['tag'])) {
Cache::tag($cache['tag'])->set($key, $result, $cache['expire']);
} else {
Cache::set($key, $result, $cache['expire']);
}
}
} else {
// 清空查询条件
$this->options = [];
@@ -468,8 +472,12 @@ class Query
}
if (isset($cache) && isset($guid)) {
// 缓存数据
if (isset($cache['tag'])) {
Cache::tag($cache['tag'])->set($guid, $result, $cache['expire']);
} else {
Cache::set($guid, $result, $cache['expire']);
}
}
} else {
// 清空查询条件
$this->options = [];
@@ -1067,9 +1075,10 @@ class Query
* @access public
* @param mixed $key 缓存key
* @param integer $expire 缓存有效期
* @param string $tag 缓存标签
* @return $this
*/
public function cache($key = true, $expire = null)
public function cache($key = true, $expire = null, $tag = null)
{
// 增加快捷调用方式 cache(10) 等同于 cache(true, 10)
if (is_numeric($key) && is_null($expire)) {
@@ -1077,7 +1086,7 @@ class Query
$key = true;
}
if (false !== $key) {
$this->options['cache'] = ['key' => $key, 'expire' => $expire];
$this->options['cache'] = ['key' => $key, 'expire' => $expire, 'tag' => $tag];
}
return $this;
}
@@ -1881,9 +1890,13 @@ class Query
if (isset($cache)) {
// 缓存数据集
if (isset($cache['tag'])) {
Cache::tag($cache['tag'])->set($key, $resultSet, $cache['expire']);
} else {
Cache::set($key, $resultSet, $cache['expire']);
}
}
}
// 返回结果处理
if (count($resultSet) > 0) {
@@ -1968,9 +1981,13 @@ class Query
if (isset($cache)) {
// 缓存数据
if (isset($cache['tag'])) {
Cache::tag($cache['tag'])->set($key, $result, $cache['expire']);
} else {
Cache::set($key, $result, $cache['expire']);
}
}
}
// 数据处理
if (!empty($result[0])) {