php使用memcache

18 篇文章 0 订阅

首先请新手们和我一起了解如下三个概念

Memcache是什么?

Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。 

它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTableMemcached自管理这些HashTable

Memcached是什么?

MemcachedMemcache系统的主程序文件,以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,使用共享内存存取数据。

PHP中的Memcache是什么?

php中的所讲的memcachePHP的一个扩展,是一个客户端,用于连接memcached


1、安装libevent

在安装memcached之前需要安装libevent库,因为memcached用到了libevent用于socket的处理。

#wgethttp://monkey.org/~provos/libevent-2.0.10-stable.tar.gz

#tar zxvf libevent-2.0.10-stable.tar.gz

#cd libevent-2.0.10-stable

#./configure --prefix=/usr/local/libevent&& make && make install


2、安装memcached

#wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz

#tar zxvf memcached-1.4.5.tar.gz

#cd memcached-1.4.5

#./configure --prefix=/usr/local/memcached--with-libevent=/usr/local/libevent

# make && make install

# ln -s/usr/local/libevent/lib/libevent-2.0.so.5 /usr/lib

# /usr/local/memcached/bin/memcached -d -m100 -l localhost -p 11211 -u root &

# echo "/usr/local/memcached/bin/memcached-d -m 50 -l localhost -p 11211 -u root &" >>/etc/rc.local


-d 以守护程序(daemon)方式运行memcached
-m 设置 memcached 可以使用的内存大小,单位为 M
-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数;
-p 设置监听的端口,默认为 11211,所以也可以不设置此参数;
-u 指定用户;


3、安装memcache

#wget http://pecl.php.net/get/memcache-2.2.6.tgz

# tar zxvf memcache-2.2.6.tgz

# cd memcache-2.2.6

# /usr/local/php/bin/phpize

# ./configure--enable-memcache=/usr/local/memcached--with-php-config=/usr/local/php/bin/php-config

# make && make install

模块默认生成路径为/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/memcache.so,然后把模块拷贝到/usr/local/php/include/php/ext目录下


修改PHP配置文件php.ini,添加如下内容

#vi /usr/local/php/lib/php.ini

extension_dir=/usr/local/php/include/php/ext

extension=memcache.so


4、测试

#vi test.php,然后添加如下内容

<?php

$memcache = new Memcache;

$memcache->connect('127.0.0.1', 11211)  or die ("Could not connect");

$version = $memcache->getVersion();

echo "Server's version:  ".$version."\n";

$tmp_object = new stdClass;

$tmp_object->str_attr = 'test';

$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object,  false, 10) or die ("Failed to save data at the server");

echo "Store data in the cache (data  will expire in 10 seconds)\n";

$get_result = $memcache->get('key');

echo "Data from the cache:\n";

var_dump($get_result);

?>


然后将test.php放于网站根目录,打开浏览器访问http://localhost/test.php 出现如下界面则说明正常




5memcached监控

下载memcache.php,下载地址为http://livebookmark.net/memcachephp/memcachephp.zip

下载完毕后把memcache.php放置到网站根目录,然后修改memcache.php,用户名我们设置为admin,密码设置为123456,连接memcached的地址为127.0.0.1:11211

  

$VERSION='$Id: memcache.php,v 1.1.2.3  2008/08/28 18:07:54 mikl Exp $';

  

define('ADMIN_USERNAME','admin');  
// Admin Username

define('ADMIN_PASSWORD','123456');
//  Admin Password

define('DATE_FORMAT','Y/m/d H:i:s');

define('GRAPH_SIZE',200);

define('MAX_ITEM_DUMP',50);

  

$MEMCACHE_SERVERS[] =  '127.0.0.1:11211'; // add more as an array

//$MEMCACHE_SERVERS[] =  'mymemcache-server2:11211'; // add more as an array

  


然后访问http://localhost/memcache.php,如出现如下界面则说明安装配置成功



6、总结

在对PHP扩展完memcache功能后,通过查看memcache.php监控页面,发现cache一点没有使用,后来才得要想让网站使用memcache功能,除了上面的安装配置外还需要在PHP程序中进行调用,如何对memcache进行调用,就是由PHP程序员来完成的了。

参考文献http://www.ningoo.net/html/2009/use_memcached_in_php.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值