选择语言 :

 Driver_Cache_Driver_Memcache::delete

删除指定key的缓存,若$key===true则表示删除全部

null Driver_Cache_Driver_Memcache::delete( string $key )

参数列表

参数 类型 描述 默认值
$key string $key
File: ./drivers/cache/memcache/memcache.class.php
public function delete($key)
{
    $this->_connect();

    if (true===$key)
    {
        if (Cache_Driver_Memcache::$_memcached_mode)
        {
            $status = $this->_memcache->flush(1);
        }
        else
        {
            $status = $this->_memcache->flush();

            if ($status)
            {
                // We must sleep after flushing, or overwriting will not work!
                // @see http://php.net/manual/en/function.memcache-flush.php#81420
                sleep(1);
            }
        }
    }
    else if (is_array($key))
    {
        # 加前缀
        if ($this->prefix)
        {
            foreach ($key as &$k)
            {
                $k = $this->prefix . $k;
            }
        }

        if (Cache_Driver_Memcache::$_memcached_mode)
        {
            $status = $this->_memcache->deleteMulti($key);
        }
        else
        {
            # 循环的删除
            foreach ($key as $k)
            {
                $this->_memcache->delete($k);
            }

            $status = true;
        }
    }
    else
    {
        $status = $this->_memcache->delete($this->prefix . $key);
    }

    if (IS_DEBUG)Core::debug()->info($key, 'memcache delete key');

    return $status;
}