lakers009 发表于 2018-12-25 10:08:40

Memcached的介绍和应用

基础知识:  Memcache的使用和协议分析详解
  http://hi.baidu.com/_1_1_1_1/blog/item/2a0819b3ed9a07a6d8335a7d.html
  MemCached的PHP客户端操作类一
  http://blog.csdn.net/heiyeshuwu/archive/2006/07/07/890078.aspx
  Memcached window版本
  http://jehiah.cz/projects/memcached-win32/
  PHP & memcached
  http://nio.infor96.com/php-memcached/
  安装:
  搭建memcache分布式环境需要三个软件包,目前统一软件包的版本为:libevent-1.1b.tar.gz,memcache-2.1.0.tgz,memcached-1.1.13.tar.gz.
  1) 先安装libevent:
  # tar zxvf libevent-1.1b.tar.gz
  # cd libevent-1.1b
  # ./configure --prefix=/usr
  # make >make.log 2>&1
  # sudo make install >install.log 2>&1
  确认
  # ls -al /usr/lib | grep libevent
  lrwxrwxrwx    1 root root       22 Jan9 13:34 libevent-1.1b.so.1 -> libevent-1.1b.so.1.0.2
  -rwxr-xr-x    1 root root    91205 Jan9 13:34 libevent-1.1b.so.1.0.2
  -rw-r--r--    1 root root   121472 Jan9 13:34 libevent.a
  -rwxr-xr-x    1 root root      808 Jan9 13:34 libevent.la
  lrwxrwxrwx    1 root root       22 Jan9 13:34 libevent.so -> libevent-1.1b.so.1.0.2
  2)再安装memcached:
  # tar zxvf memcached-1.1.13.tar.gz
  # cd memcached-1.1.13
  # ./configure --prefix=/usr/local --with-libevent=/usr
  # make >make.log 2>&1
  # sudo make install >install.log 2>&1
  启动
  # /usr/local/bin/memcached -d -m 512 -l 10.68.1.31 -p 11211 -u www
  3)最后安装memcache的php客户端,这个在每个需要用到memcache服务的机器上都需要安装,memcache的php客户端是以php extension的方式安装的.
  # tar zxvf memcache-2.1.0.tgz
  # cd memcache-2.1.0
  # /usr/local/php/bin/phpize
  # ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
  # make >make.log 2>&1
  # sudo make install >install.log 2>&1
  需要在php.ini文件中相应的位置加入:
  extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429/"
  extension=memcache.so
  应用:
  1.分布式共享数据

  《实现基于Memcache存储的Session类》这篇文章是模拟了php对session管理的方法,用setcookie模拟PHPSESS>  http://blog.csdn.net/heiyeshuwu/archive/2006/12/24/1457206.aspx
  http://wf.xplore.cn/read.php/91.htm
  下面这篇文章是利用了session_set_save_handler方法,重写open,write,read,close,destory,gc方法,将session数据存储在memcache。
  《PHP实现多服务器session共享之memcache共享》
  http://imysql.cn/?q=node/215
  总结:都是基于Cookie确认的。只能在同域名下共享session。第二篇文章使用起来更方便。用户只要正常使用php 的session管理函数就行了。
  2.数据库检索结果的缓存
  Memcached在大型网站中应用 [原创]
  http://tomore.myoow.com/showlog351.html
  优点和缺点:
  memcached部分实现的是内存空间分配和回收,以及存储服务监听和提供.对于分布式的实现,取决于客户端的使用和构造.我们使用的客户端是完全支持分布式的.只是可能会出现某些问题.
  诸如一旦出现网络问题, 网络问题导致某个分布式服务器中的一台失去联系之后,到这台机器恢复正常工作的这段时间内, 写入分布式服务器的数据将基本不可以获取. 可以通过采用分布式hash表的方式解决这个问题.

页: [1]
查看完整版本: Memcached的介绍和应用