Memcache 服务器端安装
memcache是比较流行的cache解决方案,是高效、快速的分布式内存对象缓存系统,主要用于加速 WEB 动态应用程序
memcached是运行在缓存服务器上的服务端程序名。
memcache是memcache server的client端,有各种语言的版本,如:java、python、php等。(本文讲述php_memcache.dll的php模块安装方式。)
memcache不是必须和apache安装在同一台服务器,可以把memcache server看成是DB服务器,一台可以供多台使用;和apache安装在一起可以使资源充分使用,apache占用CPU多,内存相对较少,而memcache占用CPU低,内存多。
Memcache的安装分为两大块:
memcache服务器端安装
memcache客户端安装
所谓服务器端的安装就是在服务器(一般都是linux系统)上安装Memcache实现数据的存储
所谓客户端的安装就是指为php添加扩展,如PHP_memcache.dll,apache启动后使用服务器端的Memcache提供的函数。
Windows下的Memcache安装:
1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:memcached
2. 在终端(也即cmd命令界面)下输入 ‘c:memcachedmemcached.exe -d install’ 安装
3. 再输入: ‘c:memcachedmemcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
4.下载php_memcache.dll,请自己查找对应的php版本的文件,放在PHP的ext目录
5. 在C:winntphp.ini 加入一行 ‘extension=php_memcache.dll’
6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!
测试代码
$mem = new Memcache;
$mem->connect("localhost", 11211);
$mem->set('key', 'value', 0, 60);
$val = $mem->get('key');
echo $val;
三、memcached常用方法介绍
Memcache::connect() — 创建一个Memcache对象
Memcache::pconnect() — 创建一个Memcache的持久连接对象
Memcache::flush() — 清除所有缓存的数据,但是不会削去使用的内存空间。
Memcache::close() — 关闭一个Memcache对象
memcache_debug() — 控制调试功能,前提是php在编译的时候使用了–enable-debug选项,否则这个函数不会有作用。
Memcache::addServer() — 添加一个可供使用的服务器地址。该方法有8个参数,除了第一个参数以外,其他都是可选的,第一个参数表示服务器的地址,第二个参数表示端口,第三个参数表示是否是一个持久连接,第四个参数表示这台服务器在所有服务器中所占的权重,第五个参数表示连接的持续时间,第六个参数表示连接重试的间隔时间,默认为15,设置为-1表示不进行重试,第七个参数用来控制服务器的在线状态,第8个参数允许设置一个回掉函数来处理错误信息。
Memcache::add() — 添加一个值,如果已经存在,则返回false
Memcache::set() — 添加一个值,如果已经存在,则覆写。 该方法有四个参数,第一个参数是key,第二个参数是value,第三个参数可选,表示是否压缩保存, 第四个参数可选,用来设置一个过期自动销毁的时间。
Memcache::get() — 获取一个key值。该方法有一个参数,表示key
Memcache::replace() — 对一个已有的key进行覆写操作。该方法有四个参数,作用和Memcache::set()方法的相同。
Memcache::increment() — 对保存的某个key中的值进行加法操作
Memcache::decrement() — 对保存的某个key中的值进行减法操作
Memcache::delete() — 删除一个key值。该方法有两个参数,第一个参数表示key,第二个参数可选,表示删除延迟的时间。