php的memcached

来看看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 &

                   编译安装:                  

[plain] view plaincopy
  1. >tar -zxvf libevent-1.4.14b-stable.tar.gz  
  2. >cd libevent-1.4.14b-stable  
  3. >./configure //默认装到/usr/lib/下  
  4. >make  
  5. >make install  

          b、 安装memcache

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

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

                  编译安装:

[plain] view plaincopy
  1. >tar -zxvf memcached-1.4.5.tar.gz  
  2. >cd memcached-1.4.5  
  3. >./configure  
  4. >make  
  5. >make install  
          好啦,至此,我们服务器端的memcached安装完啦,简单吧,就两步。

       2、服务器端运行

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

[plain] view plaincopy
  1. >./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

             停止:

[plain] view plaincopy
  1. >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

                   安装编译过程:                 

[plain] view plaincopy
  1. >tar -zxvf libmemcached-0.53.tar.gz  
  2. >cd libmemcached-0.53  
  3. >./configure  
  4. >make  
  5. >make install  
             

             b、安装php的memcached扩展

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

                   安装:                  

[plain] view plaincopy
  1. >tar -zxvf memcached-1.0.2.tgz  
  2. >cd memcached-1.0.2  
  3. >./configure --with-php-config=/usr/local/php/bin/php-config  
  4. >make  
  5. >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、执行程序:

                         

  1. <?php  
  2. $m = new Memcached();  
  3. $m->addServer('127.0.0.1', 11211);  
  4.   
  5. $m->set('foo', 200);  
  6. var_dump($m->get('foo'));  
  7. ?>   

                      得到结果:

                      int(200) 


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



参考:

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

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

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

发布了12 篇原创文章 · 获赞 6 · 访问量 7万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章