假设在同一台机器上安装3个 memcached 节点,分别为
Memcached Server1
Memcached Server2
Memcached Server3
Memcached Server1 安装
Memcached Server1 Memcached在如下目录 D:\pangzhw\opensouce\Memcached\windows-64\memcached.exe
在CMD中执行如下命令即可再安装一个Memcached服务(记得换个端口号啊!):
sc create "Memcached Server1" start= auto binPath= "D:\pangzhw\opensouce\Memcached\windows-64\memcached.exe -d runservice -m 32 -p 11211 -l 127.0.0.1" DisplayName= "Memcached Server1"
Memcached Server2 安装
Memcached Server1 Memcached在如下目录 D:\pangzhw\opensouce\Memcached\windows-64-2\memcached.exe
在CMD中执行如下命令即可再安装一个Memcached服务(记得换个端口号啊!):
sc create "Memcached Server2" start= auto binPath= "D:\pangzhw\opensouce\Memcached\windows-64-2\memcached.exe -d runservice -m 32 -p 11221 -l 127.0.0.1" DisplayName= "Memcached Server2"
Memcached Server3 安装
Memcached Server1 Memcached在如下目录 D:\pangzhw\opensouce\Memcached\windows-64-3\memcached.exe
在CMD中执行如下命令即可再安装一个Memcached服务(记得换个端口号啊!):
sc create "Memcached Server3" start= auto binPath= "D:\pangzhw\opensouce\Memcached\windows-64-3\memcached.exe -d runservice -m 32 -p 11231 -l 127.0.0.1" DisplayName= "Memcached Server3"
下面是启动、停止、卸载该服务的命令:
sc start "Memcached Server1" //启动 sc stop "Memcached Server1" //停止 sc delete "Memcached Server1" //卸载该服务
如果你在执行命令的时候,遇到如下提示信息:
Creates a service entry in the registry and Service Database. SYNTAX: sc create [service name] [binPath= ] <option1> <option2>... CREATE OPTIONS: NOTE: The option name includes the equal sign. type= <own|share|interact|kernel|filesys|rec> (default = own) start= <boot|system|auto|demand|disabled> (default = demand) error= <normal|severe|critical|ignore> (default = normal) binPath= <BinaryPathName> group= <LoadOrderGroup> tag= <yes|no> depend= <Dependencies(separated by / (forward slash))> obj= <AccountName|ObjectName> (default = LocalSystem) DisplayName= <display name> password= <password>
请好好check下你输入的命令。
Check Point:
sc cretate命令后面带的参数比如[binPath= ]的等号后面必须有个空格,
同样,后面的其它参数比如group= , displayname=的等号后面都需要空格,
否则,sc create命令都不能成功创建服务,只会返回给你帮助信息。
测试代码
public static void main(String[] args) {
/*初始化SockIOPool,管理memcached的连接池*/
String[] servers = { "localhost:11211","localhost:11221","localhost:11231" };
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.initialize();
/*建立MemcachedClient实例*/
MemcachedClient memCachedClient = new MemcachedClient();
for (int i = 0; i < 10; i++) {
/*将对象加入到memcached缓存*/
boolean success = memCachedClient.set("" + i, "Hello!");
/*从memcached缓存中按key值取对象*/
String result = (String) memCachedClient.get("" + i);
System.out.println(String.format("set( %d ): %s", i, success));
System.out.println(String.format("get( %d ): %s", i, result));
}
}