Merge pull request #589 from shuipf/master

修复缓存里inc方法错误,导致延迟更新不正常
This commit is contained in:
ThinkPHP
2017-03-21 01:20:19 -05:00
committed by GitHub
3 changed files with 11 additions and 5 deletions

View File

@@ -113,7 +113,10 @@ class Memcache extends Driver
public function inc($name, $step = 1)
{
$key = $this->getCacheKey($name);
return $this->handler->increment($key, $step);
if( $this->has($name) ){
return $this->handler->increment($key, $step);
}
return $this->handler->set($key, $step);
}
/**

View File

@@ -125,7 +125,10 @@ class Memcached extends Driver
public function inc($name, $step = 1)
{
$key = $this->getCacheKey($name);
return $this->handler->increment($key, $step);
if( $this->has($name) ){
return $this->handler->increment($key, $step);
}
return $this->handler->set($key, $step);
}
/**

View File

@@ -651,16 +651,16 @@ class Query
if (!Cache::has($guid . '_time')) {
// 计时开始
Cache::set($guid . '_time', $_SERVER['REQUEST_TIME'], 0);
Cache::$type($guid, $step, 0);
Cache::$type($guid, $step);
} elseif ($_SERVER['REQUEST_TIME'] > Cache::get($guid . '_time') + $lazyTime) {
// 删除缓存
$value = Cache::$type($guid, $step, 0);
$value = Cache::$type($guid, $step);
Cache::rm($guid);
Cache::rm($guid . '_time');
return 0 === $value ? false : $value;
} else {
// 更新缓存
Cache::$type($guid, $step, 0);
Cache::$type($guid, $step);
}
return false;
}