MemCache在php中的一些应用和使用方法的小测试

来源:互联网 发布:学英语的软件 编辑:程序博客网 时间:2024/06/05 03:49
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

Memcache的安装
分为两个过程:memcache服务器端和memcached客户端。
服务器端的安装就是在服务器上安装Memcache实现数据的存储;客户端的安装就是指php(或者其他程序)去使用服务器端的Memcache提供的函数,需要php添加扩展。

服务器环境:Ubuntu13.04   X64
(一)Memcache服务端的安装
Memcache用到了libevent这个库用于Socket的处理,在安装Memcache之前,我们必须先安装libevent这个库。

Libevent的功能:
Libevent提供了事件通知,io缓存事件,定时器,超时,异步解析dns,事件驱动的http server以及一个rpc框架。
事件通知:当文件描述符可读可写时将执行回调函数。
Io缓存:缓存事件提供了输入输出缓存,能自动的读入和写入,用户不必直接操作io。
定时器:libevent提供了定时器的机制,能够在一定的时间间隔之后调用回调函数。
异步的dns解析:libevent提供了异步解析dns服务器的dns解析函数集。
事件驱动的http服务器:libevent提供了一个简单的,可集成到应用程序中的HTTP服务器。
RPC客户端服务器框架:libevent为创建RPC服务器和客户端创建了一个RPC框架,能自动的封装和解封数据结构。

在安装前可以先确认下服务器安装了没有:ls /usr/lib | grep libevent
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin
官网链接:http://libevent.org
目前最新版本的稳定版为:libevent-2.0.21-stable
下载链接:http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
step1:安装libevent
解压:tar -zxvf libevent-2.0.21-stable.tar.gz 
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin
安装:
cd libevent-2.0.21-stable
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin
./configure --prefix=/usr/lib
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin
make
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin
make install
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin

查看是否安装成功:
ll /usr/lib | grep libevent
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin

step2:安装Memcached
apt-get install memcached
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin

检查是否安装完成
ls -al /usr/local/bin/mem*
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin

step3:安装Memcache的PHP扩展
sudo apt-get install php5-memcache
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin
编辑memcache的配置文件
vim /etc/php5/conf.d/memcache.ini
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin
添加以下代码:
[memcache]
memcache.dbpath="/usr/local/bin/memcached"
memcache.maxreclevel=0
memcache.maxfiles=0
memcache.archivememlim=0
memcache.maxfilesize=0
memcache.maxratio=0
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin

可以在phpinfo()看见memcache的相关情况
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin

*************************************************华华丽的分割线************************************************
memcached的图形界面监控
可以将memcache.php复制到web站点下的文件夹下。
例如:/var/www/html下。
里面有一些配置文件需要修改的。。。
帐号和密码
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin
设置监控memcached的ip和端口号,根据自己的实际情况,如果要开启有多个memcached服务的话,就要在这里添加
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin
。。。。。
我们这时候我们就可以直接通过访问memcache.php来通过图形界面来管理
http://localhost/memcache.php
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin
memcache的使用。。。
可以写个php文件简单测试。
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set('test', '测试下呗!恭喜你成功了', 0, 60);
$val = $mem->get('test');
echo $val;
这个时候,你在通过图形界面的信息。。你会看见使用的情况是不是有变化了。。

关于memcache的开启和关闭
关闭:/etc/init.d/memcached stop
MemCache在php中的一些应用和使用方法的小测试 - kaizhu_QIN - kaizhu_Qin
启动:
/etc/init.d/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,默认是64MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid。
0 0