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

maven引入

<dependency>
<groupId>com.googlecode.xmemcached</groupId>
<artifactId>xmemcached</artifactId>
<version>1.4.3</version>
</dependency>

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

package Test.test;

import java.io.IOException;
import java.util.concurrent.TimeoutException; import net.rubyeye.xmemcached.MemcachedClient;
import net.rubyeye.xmemcached.MemcachedClientBuilder;
import net.rubyeye.xmemcached.XMemcachedClientBuilder;
import net.rubyeye.xmemcached.auth.AuthInfo;
import net.rubyeye.xmemcached.command.BinaryCommandFactory;
import net.rubyeye.xmemcached.exception.MemcachedException;
import net.rubyeye.xmemcached.utils.AddrUtil;
public class App
{
public static void main( 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(new BinaryCommandFactory());
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...

管理界面上可以看到:

它是密文存储的

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

package Test.test;

import net.spy.memcached.AddrUtil;
import net.spy.memcached.MemcachedClient; public class App
{
public static void main( 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 queue
2015-03-01 23:26:38.271 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@be7667
2015-03-01 23:26:38.276 WARN net.spy.memcached.MemcachedConnection: Could not redistribute to another node, retrying primary node for lwk.
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_misses 0
STAT rejected_conns 0
STAT connection_structures 5000
STAT reclaimed 0
STAT limit_maxbytes 67108864
STAT decr_hits 0
STAT curr_conns_on_port_11209 12
STAT curr_conns_on_port_11210 5
STAT curr_connections 19
STAT rusage_system 17.695309
STAT cas_misses 0
STAT bytes 64
STAT get_misses 1
STAT bytes_read 380638
STAT get_hits 4
STAT decr_misses 0
STAT rusage_user 1093.362783
STAT bucket_conns 9
STAT cmd_flush 0
STAT tcp_nodelay enable
STAT uptime 25500
STAT max_conns_on_port_11209 1000
STAT total_items 2
STAT incr_hits 0
STAT max_conns_on_port_11210 9000
STAT time 1425174744
STAT daemon_connections 4
STAT pointer_size 64
STAT version 2.1.0r
STAT engine_maxbytes 104857600
STAT evictions 0
STAT total_connections 58
STAT curr_items 1
STAT delete_hits 0
STAT cas_hits 0
STAT auth_errors 0
STAT threads 4
STAT pid 1465
STAT auth_cmds 4
STAT cas_badval 0
STAT cmd_set 2
STAT bucket_active_conns 1
STAT cmd_get 5
STAT conn_yields 0
STAT listen_disabled_num 0
STAT bytes_written 8718605
STAT libevent 2.0.11-stable
STAT accepting_conns 1
STAT incr_misses 0
END

现在可以add、set、get

java连接couchbase的memcache的更多相关文章

  1. Memcached常用语法与java连接服务

    memcached常用语法及java使用方式 Author:SimpleWu Memcached 存储命令 Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中 ...

  2. Java连接远程Redis

    redis-server &  //后台启动redis redis-cli //使用redis   打开redis.conf文件在NETWORK部分有说明   /usr/local/src   ...

  3. Java连接SQLServer2008终极解决办法(亲身上机演练版)

    今天我一学妹问我,Java连接SQLServer2008数据库的问题,一直无法连接成功.想起自己刚开始学习的时候,在网上找各种文章,然后实际上机验证操作,花了一两天时间才搞定,一把辛酸泪呀!记得当时是 ...

  4. java连接mysql

    Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connector/j/,解压后得到jar库文件,然后在对应的项目中导入该库文件 ...

  5. java连接mysql数据库详细步骤解析

    java连接mysql数据库详细步骤解析      第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar      第二步:导入下载的J ...

  6. Java连接SqlServer2008数据库(转)

    Java连接SqlServer2008数据库 首先下载JDBC:下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=21599 下 ...

  7. 几个主流java连接池

    池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...

  8. java 连接 MySQL

    java 连接 MySQL 1.准备工作 需要下载的工具: MySQL:http://www.mysql.com/downloads/ MySQL的可视化工具SQLyog:https://www.we ...

  9. java连接sql server2000/2005

    接触Java或者JSP,难免会使用到数据库SQL Server 2000/2005(我使用2005标准版[9.0.3054]测试),经过自己的搜索和研究,使用JDBC连接SQL Server成功,特此 ...

  10. Java 连接MongoDB

    1.驱动 通过java连接MongoDB需要一个java版的驱动 下载地址:http://mongodb.github.io/mongo-java-driver/ 2.连接MongoDB 通过 com ...

随机推荐

  1. fabric学习笔记7

    Fabric2.0Java SDK实践-合约交易 20201303张奕博 2023.1.18 1.创建基础工程 新建一个Maven工程,添加以下依赖 <dependency> <gr ...

  2. springboot自带的MD5加密

    //md5DigestAsHex返回的是string类型 DigestUtils.md5DigestAsHex(user.getPassword().getBytes(StandardCharsets ...

  3. CodeGym自学笔记04——什么是编译器?

    编译器 编程语言可以同时被人和编译器所理解.编译器是一个特殊的程序,它可将用编程语言编写的程序转换成一系列的机器代码. 程序员通常用编程语言来编写程序,然后运行编译器,将程序员编写的程序代码文件转换为 ...

  4. ubuntu下编译安装uWebSockets

    最近开始接触websocket,第一次装的时候,还是遇到了些问题,这里记录一下 1.从git下载uWebSockets 地址:https://github.com/uNetworking/uWebSo ...

  5. 068_Apex&Page中的ReadOnly 使用方式

    一.page页面遇到需要检索大量数据的处理方式需要时会用Readonly 通常,对单个Visualforce页面请求的查询可能无法检索超过50,000行. 在Read only模式下,此限制将放宽允许 ...

  6. leecode70. 爬楼梯

    70. 爬楼梯 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到 ...

  7. pytest+allure接口自动化

    python类库依赖: pip3 install pytestpip3 install allure-pytestpip3 install rerequestspip3 install pytest- ...

  8. uniapp自定义组件的使用--记录

    在 pages.json同级目录下 创建目录和文件: components: videoComp: VideoPlaySelf.vue VideoPlaySelf.vue 内容 <templat ...

  9. Neural Network模型复杂度之Dropout - Python实现

    背景介绍 Neural Network之模型复杂度主要取决于优化参数个数与参数变化范围. 优化参数个数可手动调节, 参数变化范围可通过正则化技术加以限制. 本文从优化参数个数出发, 以dropout技 ...

  10. SQL server数据库 账户SA登录失败,提示错误:18456

    在我们使用数据库的时候,偶尔会遇到一些登录上的错误提示.比如,在数据库配置上没有正确开启用户的登录策略以及服务器身份验证模式时,就会提示"用户'sa'登录失败.(Microsoft SQL ...