一.什么是memcache?
高效分布式缓存系统,非持久化存储,对于内存的消耗非常大,key-value格式存贮。
二.安装memcached服务端
yum list memcached
yum install memcached.i686 -y
三.启动memcached服务端
/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 150 -u root
参数说明:
-d 守护进程方式启动
-l 指定IP地址 127.0.0.1
-p 指定端口号
-m 指定内存大小,以M为单位
-u 指定用户
查看是否启动
ps -ef | grep memcached
四.安装memcached客户端
1.安装libmemcached扩展
下载地址:
https://launchpadlibrarian.net/165454254/libmemcached-1.0.18.tar.gz
下载命令:
wget https://launchpadlibrarian.net/165454254/libmemcached-1.0.18.tar.gz
安装
tar zxf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure -prefix=/usr/lib/libmemcached //指定安装目录
make && make install
2.安装memcached
下载地址:
http://pecl.php.net/get/memcached-2.2.0.tgz
安装命令
tar zxf memcached-2.2.0.tgz
cd memcached-2.2.0
phpize
./configure --with-php-config=/usr/bin/php-config --with-libmemcached-dir=/usr/lib/libmemcached --disable-memcached-sasl
make && make install
vim /etc/php.ini
extension=memcached.so
注意:首先我们安装的是memcached,并不是memcache,所以在选择安装包的时候一定要认清楚,并且我们不要去安装过高的版本,因为会在Linux下报错不断,而又没有解决的能力
php -m | grep memcached
php操作memcached
这里来说明一下,PHP的官方手册有所有关于memcached的操作函数以及使用说明,文档地址:
http://php.net/manual/zh/book.memcached.php
英文不好的,选择中文版
<?php
$m=newMemcached();//实例化类$arr=array(array('127.0.0.1',11211),array('127.0.0.1',11211));
$m->addServer($arr);//同时设置多台服务器
print_r($m->getStatus);//查看状态
print_r($m->getVersion);//查看当前版本号
$m->add('key','value1');//使用add添加数据
$m->add('key','value2');//注意:这条命令是错误的,他是不会覆盖掉上一个的$m>replace('key','value2');//这个时候我们才能覆盖掉
$m->set('key','value3');//和add不同,set可以直接覆盖到第一次赋的值,推荐使用
$m->get('key');//得到设置的值
$m->delect('key');//删除设置的key,但是只能删除单个
$m->flush();//清空所有的缓存,尽量少用
$m->set('num',5,0);//第三个参数为缓存存贮时间,0表示不限制
$m->increment('num',5);//让num自增5
$m->decrement('num',5);//让num减5
更多操作请到文档学习。