Memcache使用教程
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。 Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。
Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。 本质上,它是一个简洁的key-value存储系统。
检查PHP版本及环境:
Architecture: x86或x84
Compiler : MSVC11 (Visual C++ 2012)
Thread Safety : enabled (ts版) disabled (nts版)
php_memcache.dll下载地址: http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/
将php_memcache.dll解压缩到\php\ext目录下。
在php.ini增加extension=php_memcache.dll
[Memcache]
memcache.allow_failover = 1 ;遇到错误时透明地向其他服务器进行故障转移
memcache.maxfailoverattempts=20 ;接受和发送数据时最多尝试多少个服务器
memcache.chunk_size =8192 ;数据将按照此值设定的块大小进行转移
memcache.default_port = 11211 ;默认TCP端口
下载memcached安装文件
cmd进入相应目录下安装:
memcached.exe -d install
memcached.exe -d start
安装成功后会自动将memcached服务加入系统服务中。
phpinfo()页面查看: memcache,即表示安装成功。
$memcache = new Memcache();
$memcache->connect(‘localhost’, 11211) or die(‘connect fail’);
//写入数据bool Memcache::set ( string
key,mixed
var [, int
flag[,int
expire ]] )
// key 要设置值的key。
// var 要存储的值,字符串和数值直接存储,其他类型序列化后存储。
// flag 使用MEMCACHE_COMPRESSED指定对值进行压缩(使用zlib)
// expire 当前写入缓存的数据的失效时间。如果此值设置为0表明此数据永不过期。你可以设置一个UNIX时间戳或 以秒为单位的整数(从当前算起的时间差)来说明此数据的过期时间,但是在后一种设置方式中,不能超过 2592000秒(30天)
$memcache->set(‘keys’, ‘value123’);
//获取数据
var_dump(
memcache−>get(‘keys′));//同时获取多个key值,已数组形式返回//
var = $memcache_obj->get(Array(‘some_key’, ‘second_key’));
//替换数据
//bool Memcache::replace ( string
key,mixed
var [, int
flag[,int
expire ]] )
memcache−>replace(‘keys′,‘Thisisreplacevalue′,0,60);vardump( memcache->get(‘keys’));
//删除数据
memcache−>delete(‘keys′);vardump(
memcache->get(‘keys’));
//清除所有数据
$memcache->flush();
//关闭连接
$memcache->close();
PHP中memcache扩展和memcached扩展的区别
Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcache这个软件项目一般叫Memcache,但项目的主程序文件叫memcached.exe,是靠服务端的这个守护进程管理这些HashTable。
对于这个内存缓存系统,PHP有两个扩展,分别是memcache和memcached扩展。
memcache是完全在PHP框架内开发的,memecached是使用libmemcached的。memcache是原生实现的,但是使用libmemcached的memached只支持OO接口,而memcache则是OO和非OO两套接口并存,同时libmemcached是memcache的C客户端,它具有的优点是低内存,线程安全等特点,在高并发下,稳定性果断提高。
memcache的方法列表在:http://cn2.php.net/memcache
memcached的方法列表在:http://www.php.net/manual/zh/book.memcached.php
CentOS下安装部署Memcached