memcached介绍
Memcached是一套开源的高性能分布式内存对象缓存系统,它将所有的数据都存储在内存中,因为在内存中会统一维护一张巨大的Hash表,所以支持任意存储类型的数据。很多网站通过使用 Memcached提高网站的访问速度,尤其是对于大型的需要频繁访问数据的网站。
- Memcached是典型的C/S架构,因此需要安装 Memcached服务端与 Memcached API客户端Memcached服务端是用C语言编写的,而 Memcached API客户端可以用任何语言来编写,如PHP、Python、Perl等,并通过 Memcached协议与 Memcached服务端进行通信。
安装Memcached服务器
第一步:准备
1. 安装包
-
memcached-1.5.6.tar.gz
- libevent-2.1.8-stable.tar.gz
2.安装软件支持包
yum install -y gcc gcc-c++
3.关闭防火墙和安全性策略
systemctl stop firewall.service
setenforce 0
第二步:安装Libevent
1.解压至opt目录下
tar zxvf libevent-2.1.8-stable.tar.gz -C /opt/
2.配置
cd /opt/libevent-2.1.8-stable
./configure --prefix=/usr/local/libevent #Libevent的安装路径
3.make安装
make && make install
第三步:安装Memcached
1.解压至opt目录下
tar zxvf memcached-1.5.6.tar.gz -C /opt/
2.配置
cd /opt/memcached-1.5.6
./configure \
--prefix=/usr/local/memcached \
--with-libevent=/usr/local/libevent/ #安装时需要指定Libevent的路径
3.make安装
make && make install
第四步:安装后的操作
1.创建链接文件,方便使用memcached命令
ln -s /usr/local/memcached/bin/* /usr/local/bin/
2.启动服务
memcached -d -m 32m -p 11211 -u root
-d: 以守护进程的方式运行Memcached服务
-m: 为Memached分配内存
-u: 指定运行的用户账户
安装Memcached API客户端
第一步:准备
1.准备lamp架构
详细操作参考部署lamp架构
2.安装包
- memcache-2.2.7.tgz
3.安装软件支持包
yum install -y gcc gcc-c++
第二步:安装Memcache
1.解压至opt目录下
tar zxvf memcache-2.2.7.tgz -C /opt/
2.配置
注意配置Memcached API时,memcache-2.2.7.tgz 源码包中默认没有configure配置脚本,需要使用PHP的phpize脚本生成配置脚本configure。
cd /opt/memcache-2.2.7
/usr/local/php5/bin/phpize #增加为PHP的模块后再对memcache进行配置编译
./configure \
--enable-memcache \
--with-php-config=/usr/local/php5/bin/php-config
3.make安装
[root@localhost memcache-2.2.7]# make && make install
........#省略内容
Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-zts-20131226/
#共享组件的位置
第三步:配置PHP添加Memcached组件
编辑PHP配置文件php.ini,添加Memcached组件.
vim /usr/local/php5/php.ini
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-zts-20131226/" #n内容是共享组件的位置
extension = memcache.so
第四步:检测连接服务端
编写测试页面,测试memcached工作是否正常。
vim /usr/local/httpd/htdocs/index.php
connect('192.168.100.130',11211);
$memcache->set('key','Memcache test Successfull!',0,60);
$result = $memcache->get('key');
unset($memcache);
echo $result;
?>
连接Memcached服务端,对Memcached数据库进行操作与管理
1.添加一条键值数据
add username 0 0 7
example #输入7字节
STORED
标记位表示自定义信息为0,过期时间为0,字节数为7
2.查询键值数据
get username
VALUE username 0 7
example #查询结果
END
gets username #检查最近是否更新
VALUE username 0 7 1 #最后一位是更新因子,每更新一次更新因子数会加1
example
END
3.更新一条键值数据
set username 0 0 10
everything #输入10字节
STORED
get username
VALUE username 0 10
everything #查询结果
END
4.清除一条缓存数据
delete username #清除
DELETED
get usename
END
5.检查后更新
gets username
VALUE username 0 10 4
everything
END
cas username 0 0 7 3 #最后一个更新因子数与gets返回的不等,返回EXISTS
lodging #输入7字节
EXISTS
cas username 0 0 7 4 #最后一个更新因子数与gets返回的相等,缓存成功
lodging
STORED
6.追加数据
append username 0 0 7 #后追加7字节
example
STORED
get username
VALUE username 0 14
lodgingexample
END
prepend username 0 0 2 #前追加2字节
un
STORED
get username
VALUE username 0 16
unlodgingexample
END
7.清除所有缓存数据
flush_all #清除所有缓存
OK