Memcache
一. 什么是Memcache
分布式高速缓冲系统
分布式:可以在多台服务器上安装Memcache服务,可以达到很好 的集群效果
高速:存储在内存中,读取速度比硬盘快
作用:数据库压力大,在用户和数据库之间增加一个缓冲层缓解压力
简而言之:可以吧Mamcache理解成一张只有key和value两个属性的数据表,key是id,value是数据
二. 应用
1. 首先不能太依赖Memcache,因为他是非持久化存储
2. 分布式(对于内存消耗非常大)
3. 格式简单,不支持复杂数据类型
三. 安装
1. 编译安装Libevent Memcache
2. 管理工具安装yum(CentOS)、apt-get(Ubuntu)
yum install memcached
另:Memcached会比Memcache稍微好一些,添加了一些应用和提高了一些性能
运行:/usr/bin/memcached-d -l 127.0.0.1 -p 11211 -m 150 -u root
(-d:守护进程,窗口退出后仍在运行 -l:指定ip -p:端口号 -m:分配多少内存,数字以M为单位,根据配置定吧 -u:以哪个用户的身份去启动,最好不要用超级管理员root)
@客户端安装
1. 安装Libmemcached
首先先把libmemcached的压缩包下载好,然后解压tar zxvf libmemcached xxxxxxxxxxx
进入:cd /xxxxxxxxxxx
给他一个地址:./configure –prefix=/usr/lib/libmemcached
配置完成直接:make &&make install
2. 为PHP安装memcached扩展
下载memcached的压缩包,解压tar zxvf memcached xxxxxxxxxxx
进入:cd /xxxxxxxxxxx
运行一下:phpize
多了一个configure的文件
./configure –with-php-config=/usr/local/php/bin/php-config–with-libmemcached-dir=/usr/lib/libmemcached –disable-memcached-sasl(根据实际情况,这里代表的是php安装在/usr/local里面的,最后一句不支持sasl功能)
然后make
make install
然后会返回一个扩展目录,我们把扩展目录复制下来
打开php配置文件:vim /usr/local/php/etc/php.ini
直接跳到文件的最底部添加扩展:
extension=memcached.so
然后重启一下服务器
四. PHP使用Memcache
系统类:addServer,addServers,getStats,getVersion
数据类:add,set,delete,flush,replace,increment,get
进阶类:setMulti,deleteMulti,getMulti,getResultCode,getResultMessage
可以去php.net官网去看方法
简单演示:
$m = new Memcached(); //实例化模型
$m->addServer(‘IP’,11211); //配置一个服务器的第一种方法
$array = array(
array(‘IP1’,11211),
array(‘IP2’,11211),
);
$m->addServers($array);
print_r($m->getStats());
print_r($m->getVersion());