ScotlandPHP

Memcache::delete

(PECL memcache >= 0.2.0)

Memcache::deleteУдаление элемента

Описание

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

Memcache::delete() удаляет элемент с указанным ключем key.

Список параметров

key

Ключ удаляемого элемента.

timeout

Это устаревший параметр и в настоящее время не используется. Значение по-умолчанию 0 секунд. Не используйет этот параметр.

Список изменений

Версия Описание
Unknown Не рекомендуется использование параметра timeout. Поведение будет различаться в разных версиях memcache, однако его установка в 0 безопасна. Другие значения этого параметра могу привести к ошибкам при удалении элемента.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования Memcache::delete()

<?php

/* процедурный стиль */
$memcache_obj memcache_connect('memcache_host'11211);

/* элемент будет удален сервером */
memcache_delete($memcache_obj'key_to_delete');

/* объектный стиль */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host'11211);

$memcache_obj->delete('key_to_delete');

?>

Смотрите также

add a note add a note

User Contributed Notes 5 notes

up
7
nibblebot at gmail dot com
7 years ago
the Memcache::delete(key) function is broken on several combinations of memcached+pecl-memcache combinations.

pecl-memcache 2.2.5 + memcached 1.4.2 - Memcache::delete(key) WORKS

pecl-memcache 2.2.5 + memcached 1.4.3 - Memcache::delete(key) DOES NOT WORK

pecl-memcache 2.2.5 + memcached 1.4.4 - Memcache::delete(key) WORKS

pecl-memcache 2.2.5 + memcached 1.4.5 - Memcache::delete(key) WORKS

pecl-memcache 3.0.4 + memcached 1.4.2 - Memcache::delete(key) WORKS

pecl-memcache 3.0.4 + memcached 1.4.3 - Memcache::delete(key) DOES NOT WORK

pecl-memcache 3.0.4 + memcached 1.4.4 - Memcache::delete(key) DOES NOT WORK

pecl-memcache 3.0.4 + memcached 1.4.5 - Memcache::delete(key) DOES NOT WORK
up
3
vbaspcppguy at gmail dot com
7 years ago
According to the documents, $timeout is not required, but for me if I did not include it regardless of value, it fired an error. I made a simple fix for it.

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

This will force it to behave as it should regardless of version.
up
2
me at adamhahn dot com
5 years ago
I could not get the delete to work properly, so I ended up trying the 'set' method and setting the timeout value to -1.

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

It solved my problem with the delete method.

(using memcached 1.4.5 and pecl-memcache 3.0.6)
up
0
padys
4 years ago
In my case this code does NOT work:
<?php
$memcache
->set('index', 'deleted', 0, -1);
?>
because of expire == -1.

I set expire = 1 (and I prefer "replace"):
<?php
$memcache
->replace('index', '', 0, 1);
?>
up
-4
Anonymous
7 years ago
Regardless of whether or not it succeeds, for me on Ubuntu 10.04 it always returns false.  Just an FYI, you can't seem to rely on the result.
To Top