couchbase java view_java连接couchbase的memcache

没有参考代码的时候重新写还是有点累的,这是重温了,第一次写的时候参考了别的一些乱七八糟的代码,虽然不是和这个一样的,不过在不懂的情况下还是很快写出来了,反而是这次光是找需要哪些jar都搞了半天,最后发现extern的用一个jar就够了,addresses和auth之前也是糊里糊涂的,这次总算搞清楚了

maven引入

com.googlecode.xmemcached

xmemcached

1.4.3

先按照在前面的一篇《记一次couchbase(memcached)安装以及使用》的步骤安装好,类型选择couchbase就行了,

测试代码如下:

packageTest.test;importjava.io.IOException;importjava.util.concurrent.TimeoutException;importnet.rubyeye.xmemcached.MemcachedClient;importnet.rubyeye.xmemcached.MemcachedClientBuilder;importnet.rubyeye.xmemcached.XMemcachedClientBuilder;importnet.rubyeye.xmemcached.auth.AuthInfo;importnet.rubyeye.xmemcached.command.BinaryCommandFactory;importnet.rubyeye.xmemcached.exception.MemcachedException;importnet.rubyeye.xmemcached.utils.AddrUtil;public classApp

{public static voidmain( String[] args )

{try{

MemcachedClientBuilder builder= new XMemcachedClientBuilder(AddrUtil.getAddresses("192.168.92.128:11211")) ;

builder.addAuthInfo(AddrUtil.getOneAddress("192.168.92.128:11211"), AuthInfo.plain("azul", "xxxx"));

builder.setCommandFactory(newBinaryCommandFactory());

builder.setFailureMode(true);

builder.setConnectionPoolSize(10);

MemcachedClient client=builder.build();

client.set("lwk", 0, "hello");

String value= client.get("key");

System.out.println(value);

client.shutdown();

}catch(IOException e) {

e.printStackTrace();

}catch(TimeoutException e) {

e.printStackTrace();

}catch(InterruptedException e) {

e.printStackTrace();

}catch(MemcachedException e) {

e.printStackTrace();

}

System.out.println("end...");

}

}

执行结果:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

SLF4J: Defaulting to no-operation (NOP) logger implementation

SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

hello

end...

管理界面上可以看到:

373a0bd21d5826bd50a0db56652c7991.png

它是密文存储的

1fcf3873c92c5d7b82fe0912a27ee83e.png

如果不用sasl验证的话先把服务器上的验证去掉然后这样写

packageTest.test;importnet.spy.memcached.AddrUtil;importnet.spy.memcached.MemcachedClient;public classApp

{public static voidmain( String[] args )

{try{

MemcachedClient client= new MemcachedClient(AddrUtil.getAddresses("192.168.92.128:11211"));

client.set("lwk", 0, "hello");

Object value= client.get("lwk");

System.out.println(value);

client.shutdown();

}catch(Exception e) {

e.printStackTrace();

}

System.out.println("end...");

}

}

结果:

2015-03-01 23:26:38.268 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/192.168.92.128:11202, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue2015-03-01 23:26:38.271 INFO net.spy.memcached.MemcachedConnection: Connection state changed forsun.nio.ch.SelectionKeyImpl@be76672015-03-01 23:26:38.276 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node forlwk.

hello

end...2015-03-01 23:26:38.284 INFO net.spy.memcached.MemcachedConnection: Shut down memcached client

这里是通过java client访问,一会儿用命令行试一下。

服务器上起了一个memcached服务之后,

如果是auth-less的,可以用telnet客户端直接去连接

C:\Users\Administrator>telnet 192.168.92.128 11200

输入stats,得到一系列的服务器上的信息

stats

STAT delete_misses0STAT rejected_conns0STAT connection_structures5000STAT reclaimed0STAT limit_maxbytes67108864STAT decr_hits0STAT curr_conns_on_port_1120912STAT curr_conns_on_port_112105STAT curr_connections19STAT rusage_system17.695309STAT cas_misses0STAT bytes64STAT get_misses1STAT bytes_read380638STAT get_hits4STAT decr_misses0STAT rusage_user1093.362783STAT bucket_conns9STAT cmd_flush0STAT tcp_nodelay enable

STATuptime 25500STAT max_conns_on_port_112091000STAT total_items2STAT incr_hits0STAT max_conns_on_port_112109000STATtime 1425174744STAT daemon_connections4STAT pointer_size64STAT version2.1.0r

STAT engine_maxbytes104857600STAT evictions0STAT total_connections58STAT curr_items1STAT delete_hits0STAT cas_hits0STAT auth_errors0STAT threads4STAT pid1465STAT auth_cmds4STAT cas_badval0STAT cmd_set2STAT bucket_active_conns1STAT cmd_get5STAT conn_yields0STAT listen_disabled_num0STAT bytes_written8718605STAT libevent2.0.11-stable

STAT accepting_conns1STAT incr_misses0END

现在可以add、set、get

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值