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
分享到:
相关推荐
2. **安装库**:通过包管理器(如apt-get for Ubuntu或yum for CentOS)安装libevent库,因为Memcache依赖于它。 ``` sudo apt-get install libevent-dev ``` 3. **下载并编译Memcache**:从Memcache的官方...
- **安装**:Memcache通常可以通过包管理器(如在Ubuntu上的`apt-get`或CentOS上的`yum`)进行安装,也可以从源代码编译安装。 - **配置**:配置文件一般为`/etc/memcached.conf`,可以设置监听端口、最大内存使用...
2. **基本操作**:添加(set)、获取(get)、删除(delete)、替换(replace)、增加(increment)、减少(decrement)是 Memcache 最常见的操作。 3. **连接与断开**:客户端需要建立连接到 Memcache 服务器,完成...
**Memcached** 是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。它通过将数据和对象存储在内存中,以键值对的形式提供高速访问,特别适合处理高并发的场景。 ...
- Ubuntu/Debian: `sudo apt-get install memcached` - CentOS/RHEL: `sudo yum install memcached` 2. **在Windows系统中**,可以下载编译好的二进制文件,解压后配置环境变量并启动服务。 3. **在MacOS中**,...
例如,在Ubuntu系统中,你可以使用`apt-get`命令: ```bash sudo apt-get update sudo apt-get install memcached ``` 对于其他基于RPM的系统,如CentOS,可以使用`yum`: ```bash sudo yum install memcached ``...
**Memcached** 是一个高性能、分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升应用性能。它广泛应用于网站和应用程序中,通过缓存数据和对象来减少读取数据库的次数,从而提高响应速度。下面我们将...
2. **操作缓存**: 通过`set()`方法可以将数据存储到缓存中,`get()`用于从缓存中获取数据,`delete()`用于删除指定键的数据,`increment()`和`decrement()`可以实现计数器功能。 3. **最佳实践**: 为了优化...
1. **导入依赖**: 将上述JAR文件添加到项目的类路径中,或者如果你使用Maven或Gradle,可以在pom.xml或build.gradle中添加对应的依赖。 2. **创建Memcached客户端**: 创建一个连接到memcached服务器的客户端实例,...
- **安装**:Memcached通常可以通过包管理器在多种操作系统上安装,如在Ubuntu上使用`apt-get install memcached`,在CentOS上使用`yum install memcached`。 - **配置**:配置文件通常为`/etc/memcached.conf`,...
2. **基本操作**: 基本的Memcached操作包括`set`(设置键值对)、`get`(获取键对应的值)、`delete`(删除键值对)和`incr/decr`(对整数值进行递增/递减操作)。 3. **最佳实践**: 为了最大化性能,应避免存储大...
2. **数据存取**:使用`set(key, value, timeout)`方法存储数据,`get(key)`方法获取数据,`delete(key)`方法删除指定键的数据。 3. **缓存失效**:可以通过设置`timeout`参数来指定数据的存活时间,超过这个时间,...
在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 ``` 然后...