PHP连接Memcached安装及数据库操作

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安装

[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 

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

PHP连接Memcached安装及数据库操作

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

猜你喜欢

转载自blog.51cto.com/11134648/2150373