php的memcached

来源:互联网 发布:高中化学知识结构网络 编辑:程序博客网 时间:2024/06/16 05:07
来看看memcached吧

一、简介      

        首先说说memcached的由来吧,memcache由Danga Interactive这家公司开发,这家公司的口号是“We make cool stuff”。最早是为了加速LiveJournal.com这个网站。这个网站可以支持超过2千万个动态页面,每天有超过1百万的用户访问网站服务器和数据库。

        memcached 是由c语言开发的,免费的,开源的,高性能的,分布式内存对象缓存系统。

        memcached 适用于什么场合呢:Memcached是“分布式”的内存对象缓存系统,那么就是说,那些不需要“分布”的,不需要共享的,或者干脆规模小到只有一台服务器的应 用,memcached不会带来任何好处,相反还会拖慢系统效率,因为网络连接同样需要资源,即使是UNIX本地连接也一样。 在我之前的测试数据中显示,memcached本地读写速度要比直接PHP内存数组慢几十倍,而APC、共享内存方式都和直接数组差不多。可见,如果只是 本地级缓存,使用memcached是非常不划算的。

     

       我们可以通过这个图加强理解:

     

二、安装步骤

      1、服务器端安装

            我写下我这里的服务器环境供大家参考:

            lighttpd-1.4.28

            PHP 5.3.6           

            a、首先需要安装libevent

                  下载tar包: wget http://www.monkey.org/~provos/libevent-1.4.14b-stable.tar.gz &

                   编译安装:                  

>tar -zxvf libevent-1.4.14b-stable.tar.gz>cd libevent-1.4.14b-stable>./configure //默认装到/usr/lib/下>make>make install

          b、 安装memcache

                 下载地址:http://code.google.com/p/memcached/downloads/list

                  我下载的是:memcached-1.4.5.tar.gz

                  编译安装:

>tar -zxvf memcached-1.4.5.tar.gz>cd memcached-1.4.5>./configure>make>make install
          好啦,至此,我们服务器端的memcached安装完啦,简单吧,就两步。

       2、服务器端运行

            运行更简单,你只需要在安装memcached的目录下键入:  

>./memcached -d -m 10 -u root -l 127.0.0.1 -p 11210 -c 256 -P /tmp/memcached.pid       
            下面偶解释下这些参数的含义呀:            

           -d 以守护程序(daemon)方式运行 memcached。

            -u 指定用户,如果当前为 root 的话,需要使用此参数指定用户。
            -m 设置 memcached 可以使用的内存大小,单位为Mb,缺省是 64 MB;
             -l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数;
            -p 设置监听的端口,默认为 11211,所以也可以不设置此参数;(此处不设置,测试后发现无法连接)

            -c 设置最大运行的并发连接数,默认是1024

            -P 设置保存Memcache的pid文件

       3、简单的操作memcached

             停止:

>kill `cat /tmp/memcached.pid`
             (注:cat /tmp/memcached.pid) 列出memcached的进程号

            查看memcached监听的ip和端口:

           

          

       4、客户端安装

             a、首先需要安装libmemcached

                   为啥需要libmemcached 呢,因为在php中memcached的使用需要依赖于libmemcached,也就是说libmemcached提供了使用memcached的方法。

                   下载地址:https://launchpad.net/libmemcached/+download

                   我这里下载的版本是:libmemcached-0.53.tar.gz

                   安装编译过程:                 

>tar -zxvf libmemcached-0.53.tar.gz>cd libmemcached-0.53>./configure>make>make install
            

             b、安装php的memcached扩展

                   下载:wget http://pecl.php.net/package/get/memcached-1.0.2.tgz

                   安装:                  

>tar -zxvf memcached-1.0.2.tgz>cd memcached-1.0.2>./configure --with-php-config=/usr/local/php/bin/php-config>make>make install
                  配置:                

                   在php.ini中新增配置内容:
               extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
               extension = memcache.so

                  从新启动lighttpd

             5、运行和测试

                   a、命令行下:

                         ./php -m

                         你将会看到:memcached

                   b、执行程序:

                         

<?php$m = new Memcached();$m->addServer('127.0.0.1', 11211);$m->set('foo', 200);var_dump($m->get('foo'));?> 

                      得到结果:

                      int(200)


好啦,至此memcached基本架设完成了,如果有啥问题或者有啥偶说的不对的欢迎来联系偶大笑



参考:

http://www.ibm.com/developerworks/cn/opensource/os-memcached/index.html

http://hi.baidu.com/yts_dayou/blog/item/8999c5f92ff2b403d8f9fdcd.html

在这里非常感谢上面两位微笑

        

                             

                


                 



                 

                 


                 

                  


     

   


原创粉丝点击