还是简单才最好 发表于 2015-8-31 09:55:16

Redhat Php Memcache配置说明

一、软件包

  a) libevent-1.4.13-stable.tar.gz
  b) libmemcached-0.27.tar.gz
  c) memcached-1.4.5.tar.gz
  d) memcache-2.2.5.tgz
  二、安装步骤
  a) Tar zxvf libevent-1.4.13-stable.tar.gz
  b) Cd libevent-1.4.13-stable
  c) ./configure make make install
  d) Cd ../
  e) Tar zxvf libmemcached-0.27.tar.gz
  f) Cd libmemcached-0.27
  g) ./configure make make install
  h) Cd ../
  i) Tar zxvf memcached-1.4.5.tar.gz
  j) Cd memcached-1.4.5
  k) ./configure make make intall
  l) Cd ../
  m) Gzip –d memcache-2.2.5.tgz
  n) Tar xvf memcache-2.2.5
  o) Cd memcache-2.2.5
  p) /usr/local/php/bin/phpize
  q) ./configure –enable-memcache –with-php-config=/usr/local/php/bin/php-config
  r) Make make install
  s) ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2
  t) Vi /usr/local/php/lib/php.ini
  修改extension_dir=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/”
  增加extension=memcache.so
  u) /usr/local/apache/bin/apachectl –k restart
  v) 通过phpinfo()函数可以获取到如下信息 memcache
  memcache support
  enabled
  Active persistent connections
  0
  Version
  2.2.5
  Revision
  $Revision: 1.111 $
  Directive
  Local Value
  Master Value
  memcache.allow_failover
  1
  1
  memcache.chunk_size
  8192
  8192
  memcache.default_port
  11211
  11211
  memcache.default_timeout_ms
  1000
  1000
  memcache.hash_function
  crc32
  crc32
  memcache.hash_strategy
  standard
  standard
  memcache.max_failover_attempts
  20
  20

  w) 启动memcache服务器端
  /usr/local/bin/memcached -d -m 100 -uroot -l 59.64.28.78 -p 11211 -c 256 -P /tmp/memcached.pid
  -d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是100MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址59.64.28.78,
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid。
  x) 测试代码
  <?php
  $memcache=new Memcache;
  $memcache->connect("59.64.28.78",11211) or die ("Could not connect");
  $version=$memcache->getVersion();
  echo "Server's version:".$version."\n";
  $member[]="chenhw";
  $member[]="linux";
  if(!$memcache->add("name","member",false,10)){
  $member2=$memcache->get("member");
  }else{
  $memcache->set("member",$member,false,10);
  echo "member is not exist";
  }
  echo $member2;
  ?>
  x) Memcached方法介绍
  Memcache::add // 添加一个值,如果已经存在,则返回false
Memcache::addServer // 添加Memcache地址
Memcache::close // 关闭一个Memcache的连接
Memcache::connect // 打开一个到Memcache的连接
Memcache::decrement // 对保存的某个key中的值进行减法操作
Memcache::delete // 删除一个Memcache上的key值
Memcache::flush // 刷新所有Memcache上保存的项目(类似于删除所有的保存的项目)
Memcache::get // 从Memcache上获取一个key值
Memcache::getExtendedStats // 获取进程池中所有进程的运行系统统计
Memcache::getServerStatus // 获取运行服务器的参数
Memcache::getStats //获取当前Memcache服务器运行的状态
Memcache::getVersion // 返回运行的Memcache的版本信息
Memcache::increment // 对保存的某个key中的值进行加法操作
Memcache::pconnect // 打开一个到Memcache的长连接
Memcache::replace // 替换一个已经存在Memcache服务器上的项目(功能类似Memcache::set // 向Memcache添加一个值,如果已经存在,则覆写
Memcache::setCompressThreshold // 对大于某一大小的数据进行压缩
Memcache::setServerParams // 在运行时修改服务器的参数
  三、相关命令
  a) kill `cat /tmp/memcached.pid`停止memcached服务
  b) echo stats | nc 59.64.28.78 11211查看memcached运行状态   c) echo “flush_all” | nc 59.64.28.78 11211清空所有缓存数据
页: [1]
查看完整版本: Redhat Php Memcache配置说明