Memcache::delete

(PECL memcache >= 0.2.0)

Memcache::delete从服务器删除项目

描述

Memcache::delete(string $key, int $timeout = 0): bool

Memcache::delete() 删除具有 key 的项目。

参数

key

与要删除的项目关联的键。

timeout

此已弃用参数不受支持,默认值为 0 秒。不要使用此参数。

返回值

如果成功,则返回 true,如果失败,则返回 false

变更日志

版本 描述
未知 不建议使用 timeout 参数。memcached 版本之间的行为会有所不同,但将其设置为 0 是安全的。此已弃用功能的其他值可能会导致 memcache 删除失败。

示例

示例 #1 Memcache::delete() 示例

<?php

/* 过程式 API */
$memcache_obj = memcache_connect('memcache_host', 11211);

/* 项目将由服务器删除 */
memcache_delete($memcache_obj, 'key_to_delete');

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->delete('key_to_delete');

?>

参见

添加说明

用户贡献的说明 5 notes

nibblebot at gmail dot com
14 年前
Memcache::delete(key) 函数在 memcached+pecl-memcache 的几种组合中存在问题。

pecl-memcache 2.2.5 + memcached 1.4.2 - Memcache::delete(key) 工作正常

pecl-memcache 2.2.5 + memcached 1.4.3 - Memcache::delete(key) 不工作

pecl-memcache 2.2.5 + memcached 1.4.4 - Memcache::delete(key) 工作正常

pecl-memcache 2.2.5 + memcached 1.4.5 - Memcache::delete(key) 工作正常

pecl-memcache 3.0.4 + memcached 1.4.2 - Memcache::delete(key) 工作正常

pecl-memcache 3.0.4 + memcached 1.4.3 - Memcache::delete(key) 不工作

pecl-memcache 3.0.4 + memcached 1.4.4 - Memcache::delete(key) 不工作

pecl-memcache 3.0.4 + memcached 1.4.5 - Memcache::delete(key) 不工作
vbaspcppguy at gmail dot com
13 年前
根据文档,$timeout 不是必需的,但对我来说,如果我不包括它,无论值如何,它都会触发错误。我为此做了一个简单的修复。

<?php
class memcache_tools extends memcache
{
public function
delete($key, $expire=0)
{
parent::delete($key, $expire);
}
}
?>

这将强制它无论版本如何都按照预期的方式运行。
me at adamhahn dot com
12 年前
我无法让删除正常工作,所以我最终尝试了“set”方法并将超时值设置为 -1。

<?php
$memcache
->set('index', 'deleted', 0, -1);
?>

它解决了我的 delete 方法问题。

(使用 memcached 1.4.5 和 pecl-memcache 3.0.6)
padys
11 年前
在我的情况下,这段代码不工作
<?php
$memcache
->set('index', 'deleted', 0, -1);
?>
因为 expire == -1。

我设置 expire = 1(我更喜欢“replace”)
<?php
$memcache
->replace('index', '', 0, 1);
?>
匿名
14 年前
无论它是否成功,对我来说,在 Ubuntu 10.04 上它总是返回 false。只是 FYI,你似乎无法依赖结果。
To Top