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.安装包
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
连接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
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com