我的代码是:
1 String [] servers = {"192.168.146.1:11211"}; 2 SockIOPool pool = SockIOPool.getInstance(); 3 pool.setServers(servers); 4 pool.setFailover(true); 5 pool.setInitConn(10); 6 pool.setMinConn(5); 7 pool.setMaxConn(25); 8 pool.setMaintSleep(30); 9 pool.setNagle(false); 10 pool.setSocketTO(3000); 11 pool.setAliveCheck(true); 12 pool.setHashingAlg(SockIOPool.CONSISTENT_HASH); 13 pool.initialize(); 14 MemCachedClient memCachedClient = new MemCachedClient(); 15 memCachedClient.add("key", 1); 16 boolean result = memCachedClient.set("key", 2); 17 System.out.println(result); 18 Object value = memCachedClient.get("aaa"); 19 System.out.println(value);
连接的是虚拟机linux上的memcache,memcache也启动正常,运行时控制台输出:
false
null
说明我set没成功,网上找了好久找不到解决办法,哪位大神知道的帮忙看看,多谢了!
打印一下key
的值是多少?
System.out.println(memCachedClient.get("key"));
打印结果是null
linux服务器查看memcache状态没问题的,但是客户端就是连接没反应,连个报错都没有。。。。。。。。麻烦帮我看看吧大神。多谢了
@胡子叔叔: telnet 192.168.146.1 11211
能连上吗?
根据我的猜测,你把虚拟机里的memcached服务关闭之后,继续运行程序依然是false,null,并且不报错。应该是没有连接上memcache服务。
对,应该是没有连接上,我把ip换了也是同样的不报错,,但是我想知道我这个方法连接memcache服务是不对的吗?
@胡子叔叔: 应该是对的,你在本地运行memcached ,然后String [] servers = {"127.0.0.1:11211"};看看能不能运行。
@Shendu.cc: 我是虚拟机开的memcache 。。。在虚拟机上执行各种命令没问题的,,防火墙什么的我都没开
可能是jar包太旧了,换新jar包就可以连接上了
大家谁要是没处理好可以继续提问
– 胡子叔叔 6年前