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-1.5.6.tar.gz -C /opt/
2.配置
注意配置Memcached API时,memcache-1.5.6.tar.gz源码包中默认没有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安装
[[email protected] 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
<?php
$memcache = new Memcache();
$memcache->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
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
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
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
原文地址:http://blog.51cto.com/11134648/2150373
时间: 2024-11-11 17:53:57