Memcache介绍
1、什么是Memcache
2、在什么时候使用Memcache
3、怎样使用Memcache优化网站或API接口
一、基础知识
1、什么是Memcache:是一套分布式缓存系统。
分布式:可以在多台服务器上部署Memcache服务,达到集群的效果;
高速:Memcache所有的数据都是维护在内存中的;
2、Memcache有什么用?
缓解数据库的压力:当应用的访问量特别大的时候,数据库的压力会非常大,memcache就是在应用和数据库之间增加一个缓存层,作用是数据库在之前读取过的数据,被缓存在内存中,之后再次访问就可以从内存中直接读取,而不需要再次访问数据库,从而减轻mysql等数据库的压力。(数据库问题一直是PHP程序的短板)
3、如何理解memcache
简单理解,memcache是只有一张表的数据,这张表只有2个字段:key=>value; key就是数据的id用来查找数据的唯一性,value就是保存的数据。
二、memcache的使用场景
1、memcache是非持久化存储:因为存储在内存中,所以重启断电等就会丢失数据。memcache对数据存储要求不高,即使数据丢失也不会有影响,再次从数据库读取即可。
2、memcache是分布式存储:不适合单机使用,单机情况下还是就用其他组件或者直接从数据库读取比较好,因为memcache对内存的消耗非常大。或者可以把memcache单独装到另外一台机器上,不要和web服务器放在同一台主机上。
3、key/value存储:格式简单,不支持list、array数据格式;
三、安装Memcache的方式
方法1、编译安装libevent Memcache;
编译安装的好处是在安装的时候可以自定义的设置
方法2、使用依赖管理工具yum、apt-get
ps:
memcache有两个版本分别是Memcache和Memcached。Memcached是Memcache的升级版本,Memcached比memcache有更多的操作、速度和稳定性上也好的多。下面的操作都是memcached。
四、Memcache服务器的安装
环境:centos64位
1、安装Memcached服务端
yum install memcached
/usr/bin/memcached -d -l 127.0.0.1 -p 8000 -m 512 -u root
ps -ef | grep memcach
五、安装memcached客户端
1、安装libmemcached;
2、为php安装memcached的扩展;
先提前下载安装包,然后解压
tar zxvf libmemcached-1.0.18.tar.gz
ls
开始编译安装
./configure --prefix=/usr/lib/libmemcached
make && make install
安装PHP扩展
tar zxvf libmemcached-2.2.0.tgz
cd memcached-2.2.0
phpize
ls
./configure --with-php-config=/usr/local/bin/php-config --with-libmemcached-dir=/usr/lib/libmemcached --disable-memcached-sasl
make
make install
vim /usr/local/php/etc/php.ini
在文件底部添加刚刚安装的扩展
extension = memcached.so
重启服务器lnmp restart
php -m | grep memcached
六、PHP中使用Memcache
<?php
$m = new Memcached(); //实例化
$array = array(
array('127.0.0.1',8000),
array('127.0.0.2',8000)
);
$m->addServer($array);
print_r($m->getStatus());