`

ubuntu下memcache类中delete失败的原因

    博客分类:
  • Web
阅读更多

ubuntu10.10 desktop,安装了memcached,后来写了一个php文件来测试memcache:

 

<?php
$mem = new Memcache;
$mem->connect('127.0.0.1',11211);
$mem->delete('key');
?>

 

结果在delete的时候老是报错:

 

coinsight@insight-ubuntu:~$ php clear.php 
PHP Notice:  MemcachePool::delete(): Server 127.0.0.1 (tcp 11211, udp 0) failed with: CLIENT_ERROR bad command line format.  Usage: delete <key> [noreply]
 (0) in /home/coinsight/clear.php on line 4
coinsight@insight-ubuntu:~$

 

查找了半天原因发现在delete后面加个参数就可以了,而且这个参数必须是0,其它的值同样报错:

 

<?php
$mem = new Memcache;
$mem->connect('127.0.0.1',11211);
$mem->delete('key',0);
?>

 

后来百度+GG找,原因如下:

 

nibblebot at gmail dot com 09-Jul-2010 03:58 
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

 

 

分享到:
评论

相关推荐

    memcache简介、安装 and in cakephp

    2. **安装库**:通过包管理器(如apt-get for Ubuntu或yum for CentOS)安装libevent库,因为Memcache依赖于它。 ``` sudo apt-get install libevent-dev ``` 3. **下载并编译Memcache**:从Memcache的官方...

    memcache软件和+教程

    - **安装**:Memcache通常可以通过包管理器(如在Ubuntu上的`apt-get`或CentOS上的`yum`)进行安装,也可以从源代码编译安装。 - **配置**:配置文件一般为`/etc/memcached.conf`,可以设置监听端口、最大内存使用...

    Memcache 全面剖析,Memcache 教程

    2. **基本操作**:添加(set)、获取(get)、删除(delete)、替换(replace)、增加(increment)、减少(decrement)是 Memcache 最常见的操作。 3. **连接与断开**:客户端需要建立连接到 Memcache 服务器,完成...

    memcache的配置及使用——memcache及其客户端telnet

    **Memcached** 是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。它通过将数据和对象存储在内存中,以键值对的形式提供高速访问,特别适合处理高并发的场景。 ...

    memcache使用指南

    - Ubuntu/Debian: `sudo apt-get install memcached` - CentOS/RHEL: `sudo yum install memcached` 2. **在Windows系统中**,可以下载编译好的二进制文件,解压后配置环境变量并启动服务。 3. **在MacOS中**,...

    Memcache安装配置使用说明

    例如,在Ubuntu系统中,你可以使用`apt-get`命令: ```bash sudo apt-get update sudo apt-get install memcached ``` 对于其他基于RPM的系统,如CentOS,可以使用`yum`: ```bash sudo yum install memcached ``...

    memcache 安装和使用

    **Memcached** 是一个高性能、分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升应用性能。它广泛应用于网站和应用程序中,通过缓存数据和对象来减少读取数据库的次数,从而提高响应速度。下面我们将...

    memcached相关

    2. **操作缓存**: 通过`set()`方法可以将数据存储到缓存中,`get()`用于从缓存中获取数据,`delete()`用于删除指定键的数据,`increment()`和`decrement()`可以实现计数器功能。 3. **最佳实践**: 为了优化...

    memcached linux安装说明+ java客户端调用例子

    1. **导入依赖**: 将上述JAR文件添加到项目的类路径中,或者如果你使用Maven或Gradle,可以在pom.xml或build.gradle中添加对应的依赖。 2. **创建Memcached客户端**: 创建一个连接到memcached服务器的客户端实例,...

    memcached教程.PPT.笔记.软件

    - **安装**:Memcached通常可以通过包管理器在多种操作系统上安装,如在Ubuntu上使用`apt-get install memcached`,在CentOS上使用`yum install memcached`。 - **配置**:配置文件通常为`/etc/memcached.conf`,...

    memcached(windows,linux 服务器端的安装包)

    2. **基本操作**: 基本的Memcached操作包括`set`(设置键值对)、`get`(获取键对应的值)、`delete`(删除键值对)和`incr/decr`(对整数值进行递增/递减操作)。 3. **最佳实践**: 为了最大化性能,应避免存储大...

    memcached.rar

    2. **数据存取**:使用`set(key, value, timeout)`方法存储数据,`get(key)`方法获取数据,`delete(key)`方法删除指定键的数据。 3. **缓存失效**:可以通过设置`timeout`参数来指定数据的存活时间,超过这个时间,...

    memcached缓存服务器安装与使用

    在Ubuntu/Debian上,使用`apt-get`: ```bash sudo apt-get update sudo apt-get install memcached ``` 在CentOS/RHEL上,使用`yum`: ```bash sudo yum install epel-release sudo yum install memcached ``` 然后...

Global site tag (gtag.js) - Google Analytics