win7下memcached的安装

一、下载memcached的稳定版本,然后解压到某个目录下面,我放到了d:\app\memcached

下载链接

 

二、找到c:\WINDOWS\system32\cmd.exe,右键以管理员身份运行,否则会报错,切换到memcached目录下面,

 安装

memcached.exe –d install

 启动

memcached.exe -d start

 

三、下载php_memcache.dll,请自己查找对应的php版本的文件,我的是php5.3.5,注意如果是apache就下VC6的

下载链接

 

四、把php_memcache.dll放到php的ext目录下,在php.ini中加入如下代码:

extension=php_memcache.dll
[Memcache] 
memcache.allow_failover = 1 
memcache.max_failover_attempts=20 
memcache.chunk_size =8192 
memcache.default_port = 11211 

 

五、测试php的运行

<?php 
  $mem = new Memcache;
  $mem->connect('127.0.0.1', 11211);
  $mem->set('key', ' a value', 0, 60);
  $val = $mem->get('key');
  echo $val;

 如果成功会输出:a value

 

六、memcached基本设置

   -p 监听的端口
   -l 连接的IP地址, 默认是本机
   -d start 启动memcached服务
   -d restart 重起memcached服务
   -d stop|shutdown 关闭正在运行的memcached服务
   -d install 安装memcached服务
   -d uninstall 卸载memcached服务
   -u 以的身份运行 (仅在以root运行的时候有效)
   -m 最大内存使用,单位MB。默认64MB
   -M 内存耗尽时返回错误,而不是删除项
   -c 最大同时连接数,默认是1024
   -f 块大小增长因子,默认是1.25
   -n 最小分配空间,key+value+flags默认是48
   -h 显示帮助

 

七、Java客户端代码的编写:

import java.util.Date;
import com.danga.MemCached.*;

public class BasicTest {
 private static final String POOL_NAME="test_pool";
 protected static MemCachedClient mcc;
 static {
  //设置缓存服务器列表,当使用分布式缓存的时,可以指定多个缓存服务器
  String[] servers =
  {
     "127.0.0.1:11211"
  };
  //与服务器列表中对应的各服务器的权重
  Integer[] weights = {3};

  //创建Socked连接池
  SockIOPool pool = SockIOPool.getInstance(POOL_NAME);

  //向连接池设定服务器和权重
  pool.setServers( servers );
  pool.setWeights( weights );
  
  //连接池参数
  pool.setInitConn( 5 );
  pool.setMinConn( 5 );
  pool.setMaxConn( 250 );
  pool.setMaxIdle( 1000 * 60 * 60 * 6 );

  // set the sleep for the maint thread
  // it will wake up every x seconds and
  // maintain the pool size
  pool.setMaintSleep( 30 );

  // set some TCP settings
  // disable nagle
  // set the read timeout to 3 secs
  // and don't set a connect timeout
  pool.setNagle( false );
  pool.setSocketTO( 3000 );
  pool.setSocketConnectTO( 0 );

  // initialize the connection pool
  pool.initialize();


  // lets set some compression on for the client
  // compress anything larger than 64k

  mcc=new MemCachedClient(POOL_NAME);
  mcc.setCompressEnable( true );
  mcc.setCompressThreshold( 64 * 1024 );
 }

 public static void main(String[] args) throws Exception{
  
  mcc.set("msg","Hello,world!",new Date(System.currentTimeMillis()+1300));
  Thread.sleep(500);
  System.out.println(mcc.get("msg"));
 }
}

  ps:附近中为win32的memcached1.2.4和php5.3 vc6的memcached的dll文件

你可能感兴趣的:(thread,PHP,windows,ext,memcached)