读书人

win7上memcached的安装

发布时间: 2012-12-24 10:43:14 作者: rapoo

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文件

读书人网 >编程

热点推荐