• Blog
  • Archives
  • Search
  • Comments
  • Tags
  • Links
  • LianDan
  • RSS

有梦就有快乐[杨恒飞]

Reg | Login

人生旅途慢慢,但有梦就会有快乐!

感谢阅读
memcache与memcached的区别与安装
By coldstar On 2009-12-03, 6:27 PM | Category: 存储与缓存 | Comments: 0

Memcache是什么?
Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。 
它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。
Memcached是简单而强大的。它简单的设计促进迅速部署,易于发展所面临的问题,解决了很多大型数据缓存。它的API可供最流行的语言。
Memcache的知名用户有:LiveJournal、Wikipedia、Flickr、Bebo、Twitter、Typepad、Yellowbot、Youtube 等。
Memcache官方网站:http://memcached.org/

Memcached又是什么?
Memcache是该系统的项目名称,Memcached是该系统的主程序文件,以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,使用共享内存存取数据。

那PHP中的Memcache是什么?
php中的所讲的memcache是用于连接Memecached的客户端组件。

 

Memcache如何安装?

Memcached 服务端安装:(源码包官方网站下载)

系统命令
  1. tar xvf memcached-1.2.6.tar.gz   
  2. cd memcached-1.2.6   
  3. ./configure --prefix=/usr/local/memcached   
  4. make    
  5. make install  

 

然后就可以启动memcached的守护进程了:

系统命令
  1. /usr/local/memcached/bin/memcached -p 11211 -l 127.0.0.1 -d -u nobody -P /var/run/memcached.pid -m 64M -c 1024  

 

几个参数的解释:

-p memcached监听的TCP端口
-l 监听的ip地址,127.0.0.1是本机,当然也可以写上你的服务器IP,如:61.150.91.26,这是我服务器的IP地址,如果你需要多个服务器都能够读取这台memcached的缓存数据,那么就必须设定这个ip
-d 以daemon方式运行,将程序放入后台
-u memcached的运行用户,我设定的是nobody
-P memcached的pid文件路径
-m memcached可以使用的最大内存数量
-c memcached同时可以接受的最大的连接数

如果你希望以socket方式来访问memcached,那么在启动的时候就必须去掉 -l和-p参数,并加上-s参数:

-s memcached的socket文件路径

 

php中memcache扩展组件的安装:

系统命令
  1. tar xvf memcache-3.0.3.tgz   
  2. cd memcache-3.0.3   
  3. /usr/local/php5/bin/phpize   
  4. ./configure --with-php-config=/usr/local/php5/bin/php-config --enable-memcache   
  5. make   
  6. make install  

 

    按照我的环境,编译出来的memcache.so保存在 /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ 目录下,如果你的环境不一样,你得根据自己情况修改你的php.ini了。

接着要做的工作就是让php加载这个扩展,编辑你的php.ini,在适当位置(通常是最后,也可以是独立的一个ini文件)加入如下行:

 extension=memcache.so

然后重启你的phpfastcgi进程或者apache,运行一个phpinfo()来确认一下,正常的话你应该可以看到这个了:memcache

 

php-memcache的简单使用举例:

 

PHP代码
  1. <?php   
  2.   
  3. $memcache = new Memcache;   
  4. $memcache->connect('127.0.0.1','11211');   
  5. $memcache->setCompressThreshold(20000, 0.2);    // 设置压缩   
  6. echo $memcache->getVersion();                   // 输出memcached版本   
  7.   
  8. $test = array(1,2,3,4,5,'abcde');               //生成一个数组   
  9.   
  10. if($memcache->get('test')){   
  11.         print_r($memcache->get('test'));        //获取数据   
  12.         echo "\n";   
  13.         echo 'cached';   
  14.         echo "\n";   
  15. }else{   
  16.         $memcache->set('test',$test,0,30);      //写入数据   
  17.         echo 'no cache';   
  18.         echo "\n";   
  19. }   
  20. ?>  

 

附:网上有朋友提供的《Memcached 的使用和协议分析详解》

Tags: memcached , memcache
« Cisco交换机端口镜像配置 三种将U盘转为NTFS格式的方法»
Trackbacks
点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5
Leave a Comment

text(*):

  • View Model: Nomal | List
  • Category

    win7 (17) RSS 2.0 订阅这个分类

    Windows (39) RSS 2.0 订阅这个分类

    Linux (51) RSS 2.0 订阅这个分类

    WEB服务器 (73) RSS 2.0 订阅这个分类

    网站架构 (11) RSS 2.0 订阅这个分类

    存储与缓存 (2) RSS 2.0 订阅这个分类

    数据库技术 (20) RSS 2.0 订阅这个分类

    WEB开发 (22) RSS 2.0 订阅这个分类

    网站建设 (28) RSS 2.0 订阅这个分类

    安全相关 (24) RSS 2.0 订阅这个分类

    软件开发 (3) RSS 2.0 订阅这个分类

    网络观察 (20) RSS 2.0 订阅这个分类

    精彩瞬间 (20) RSS 2.0 订阅这个分类

    心情管理 (49) RSS 2.0 订阅这个分类

    个人收藏 (26) RSS 2.0 订阅这个分类

  • Calendar

    « 2010年07月 »
    日 一 二 三 四 五 六
    1 2 3
    4 5 6 7 8 9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30 31
  • Random Aritcle

    java.lang.UnsatisfiedLinkError:/usr/local/jdk/jre/lib/i386/libawt.s libXp.so.6: cannot open shared object

    老公,抱我一分钟,好吗?

    在ATM 我把钱给了她

    403.18 - The specified request cannot be executed from current Application Pool

    linux下配置freeTDS让php支持mssql

    新编大学对联(搞笑版)

    小公司如何留住人

    语言没有好坏之分, 只有应用领域的不同

    Linux环境VNC服务安装、配置与使用

    感谢Google,27xs.com收录过10篇

  • Archives

    2010年07月 (17)

    2010年06月 (68)

    2010年05月 (32)

    2010年04月 (3)

    2010年03月 (8)

    2010年02月 (4)

    2010年01月 (19)

    2009年12月 (45)

    2009年11月 (28)

    2009年10月 (10)

    2009年09月 (15)

    2009年08月 (2)

    更多...

  • Others

    Powered by SaBlog-X.

    Designed by Giki+Kula.

    有梦就有快乐[杨恒飞] All rights reserved.

    陕ICP备07009322号