windows中启动多个memcached服务
一、分别在CMD下执行如下3条命令(注意每条命令中的端口号要替换,即便 -p 后面的数字):
命令1: sc create "Memcached Server1" start= autobinPath= "D:\program files\memcached\memcached.exe -d runservice -m 32 -p 11211 -l 127.0.0.1"DisplayName= "Memcached Server1"
命令2: sc create "Memcached Server2" start= auto binPath= "D:\program files\memcached\memcached.exe -d runservice -m 32 -p 11212 -l 127.0.0.1"DisplayName= "Memcached Server2"
命令3: sc create "Memcached Server3" start= auto binPath= "D:\program files\memcached\memcached.exe -d runservice -m 32 -p 11213 -l 127.0.0.1"DisplayName= "Memcached Server3"
说明:上面3条sc create命令就是创建三个服务,特别是命令行中标红的部分在等号后面一定要有个空格,否则命令执行错误,没办法这就是windows命令的语法规则。上面3条命令分别创建了Memcached Server1 、 Memcached Server2 、 Memcached Server3 等三个服务。在开机的时候自动启动。也可以手动启动。
二、 通入过如下命令来管理服务,如下:
sc start "服务名称" //启动该服务
sc stop "服务名称" //停止该服务
sc delete "服务名称" //卸载该服务,在服务列表中查找不到此服务了。
三、程序端访问。如下:
/**
* 初始化SockIOPool,管理memcached的连接池
* */
Integer weight[] = {1,1,1}; //三个服务的权重
String[] servers = {"localhost:11211","localhost:11212", "localhost:11213"};
SockIOPool pool = SockIOPool.getInstance();
pool.setServers(servers);
pool.setFailover(true);
pool.setInitConn(10);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaintSleep(30);
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setAliveCheck(true);
pool.setWeights(weight);//设置权重
pool.initialize();