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;
?>

PHP连接Memcached安装及数据库操作_第1张图片

连接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