Страница 1 из 1

Ошибка при удалении данных из мемкеша.

Добавлено: 2011.02.17, 18:26
mitallast
Получил ошибку при удалении данных из мемкеша.

Код: Выделить всё

MemcachePool::delete(): Server localhost (tcp 11211, udp 0) failed with: CLIENT_ERROR bad command line format. 
Гугл выдал следующую ссылку с аналогичными симптомами. Сервер на Red Hat 4.1.2-46
http://livestreet.ru/blog/3628.html

Re: Ошибка при удалении данных из мемкеша.

Добавлено: 2011.02.19, 09:21
mitallast
Поискал информацию по этой ошибке.

Если в кратце, то у метода delete класса memcache расширения в разных версиях происходила путаница.
То исчезал, то появлялся второй атрибут, отвечающий за механизм удаления ключа из memcached - он был то обязательным, то необязательным, потом вообще убрали, а в текущей стабильной версии под Linux его снова добавили для обратной совместимости. Странно, но почему-то разное поведение под ubuntu 10.10 и red hat в сторону этого дополнительного параметра. В фреймворке Zend для совместимости просто добавили значение по умолчанию 0. Т.е получилось типа такого:

Код: Выделить всё

$memcache->delete( $key, 0 ); 
Собственно, я пробовал править CMemCache , баг не появлялся и удаление работало на обоих платформах. Вреду не тестил :)

Re: Ошибка при удалении данных из мемкеша.

Добавлено: 2011.02.20, 08:14
samdark
Fixed.