diff --git a/library/think/cache/driver/Memcache.php b/library/think/cache/driver/Memcache.php index 1fbd3b08..b4295e56 100644 --- a/library/think/cache/driver/Memcache.php +++ b/library/think/cache/driver/Memcache.php @@ -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); } /** diff --git a/library/think/cache/driver/Memcached.php b/library/think/cache/driver/Memcached.php index fa312e8e..12610646 100644 --- a/library/think/cache/driver/Memcached.php +++ b/library/think/cache/driver/Memcached.php @@ -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); } /** diff --git a/library/think/db/Query.php b/library/think/db/Query.php index f0f0ec39..66e7c262 100644 --- a/library/think/db/Query.php +++ b/library/think/db/Query.php @@ -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; }