Memcached


Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。

Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。

Memcached是一种基于内存的key-value存储是一个存储键值对的Hashmap,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。

Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。本质上,它是一个简洁的key-value存储系统。

一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。

特征

memcached作为高速运行的分布式缓存服务器,具有以下的特点。

  • 协议简单
  • 基于libevent的事件处理
  • 内置内存存储方式
  • memcached不互相通信的分布式

Memcached安装

安装

yum install libevent libevent-devel -y         #安装

Libevent:是一个用C语言编写的、轻量级的开源高性能事件通知库

安装Memcached

yum安装

yum install memcached libmemcached -y    #yum安装Memcached

Memcached运行

memcached -h    #帮助命令

常用选项:

选项作用
-d 启动一个守护进程
-m 分配给Memcached使用内存,单位是MB
-u 运行Memcached的用户
-l 监听的服务器IP地址,可以有多个
-p 设置服务的监听端口,最好是1024以上
-c 最大并发连接数,1024
-P 设置保存Memcache的pid文件
-v/vv/vvv 正常/详细/更详细打印客户端命令

创建用户

Memcached不能用root用户使用参数运行,所以我们需要再创建一个普通用户

useradd memcache    #创建用户
passwd memcache        #设置密码

启动服务

memcached -p 11211 -u memcache -m 64m -vv    #前台启动memcached
memcached -p 11211 -u memcache -m 64m -d    #后台启动memcached

Memcached连接

我们可以通过 telnet 命令并指定主机ip和端口来连接 Memcached 服务。

yum install -y telnet    #安装telnet

注意:telnet是明文传输哦!

telnet 127.0.0.1 11211

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

set foo 0 0 3    #保存命令
bar                #数据
STORED            #结果
get foo            #取得命令
VALUE foo 0 3    #数据
bar                #数据
END                #结束行
quit            #退出

PHP使用Memcached服务

在前面章节中我们已经介绍了如何安装 Memcached 服务,接下来我们为大家介绍 PHP 如何使用 Memcached 服务。

yum install php php-devel zlib-devel gcc -y    #安装PHP和一些必要的库

wget http://pecl.php.net/get/memcache-2.2.7.tgz    #获取最新稳定包
tar -zxf memcache-2.2.7.tgz                        #解压安装
cd memcache-2.2.7                #进入文件夹
phpize                        #安装php的扩展文件工具
./configure --with-php-config=/usr/bin/php-config && make && make install                        #编译安装

#Installing shared extensions:     /usr/lib64/php/modules/
#安装完成的扩展路径

phpize

 最后编译完成界面

 扩展路径

 修改配置文件,添加扩展

vim /etc/php.ini        #进入php.ini配置文件

 检查扩展是否添加成功:

php -m|grep memcache
vim 1.php    #创建php文件 随意添加内容
php 1.php