java连接couchbase的memcache

没有参考代码的时候重新写还是有点累的,这是重温了,第一次写的时候参考了别的一些乱七八糟的代码,虽然不是和这个一样的,不过在不懂的情况下还是很快写出来了,反而是这次光是找需要哪些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 [email protected]
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访问,一会儿用命令行试一下。

时间: 2024-10-06 12:30:18

java连接couchbase的memcache的相关文章

memcached(2)常用语法与java连接服务

memcached常用语法及java使用方式 Author:SimpleWu Memcached 存储命令 Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中. 如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用. set key flags exptime bytes [noreply] value Memcached add 命令用于将 value(数据值) 存储在指定的 key(键) 中. 如果 add 的

java连接mysql

1.下载jar包 网址:http://dev.mysql.com/downloads/ -->点击:"MySQL Connector/J 5.1 - Generally Available (GA) release (recommended)" -->点击:(mysql-connector-java-5.1.10.zip)后面的download按钮 -->点击:"? No thanks, just take me to the downloads!"

java连接mysql的过程

今天突然心血来潮,想要用java连接mysql,记得以前是在vs2010的环境下用C#连接sql sever,其实他们的方法都差不多. 现在就可以简单的介绍下java如何连接mysql 第一步,设计mysql的数据库,设计数据库的时候特别要注意,数据库名是xsxx,表名字是xs.注意在设置字符的时候一定要选用utf8,不然就会以你不懂的形式出现. 第二步:在esclip中新建项目,项目名称是TestJDBC,新建class名称为TestJDBC,添加引用项目文件 第三步:项目中的相关代码: --

Java连接MySQL Warning: Establishing SSL connection without server&#39;s identity verification is not recommended

1. 数据库 1.1 创建表 在当前数据库students中,创建数据表student: 1 mysql> create table student( 2 -> studentid char(10),#学生ID 3 -> name varchar(10),#学生姓名 4 -> age smallint,#学生年龄 5 -> grade smallint)#成绩 6 -> ; 1.2 插入信息: INSERT student VALUES("1*********

通过java连接mysql总结

简介:通过java连接mysql需要用到JDBC驱动.JDBC驱动安装在mysql-client客户端,mysql-server服务端不需要安装. 数据库安装初始化略.测试用到的命令: 1.创建测试用库,表,字段: create database score; use score; create table score(id nvarchar(10),stu_id nvarchar(10),c_name nvarchar(10),grade nvarchar(10)); insert into

java连接MySQL,SQL server数据库

java连接MySQL: 首先导入jar包文件: 下载地址:http://download.csdn.net/detail/chongzi321/5703641 然后: 1 Connection ct = null; 2 Statement sm = null; 3 ResultSet rs = null; 4 5 try{ 6 Class.forName("com.mysql.jdbc.Driver"); 7 ct = DriverManager.getConnection(&quo

Java连接Sql Server 2008的简单数据库应用

1.从微软官网下载JDBC驱动包 sqljdbc_4.0.2206.100_chs.exe,双击解压文件到指定目录,我的指定目录是: C:\Program Files\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs 下面是解压后的文件, 如果JDK版本低于6.0,则需使用sqljdbc.jar; 6.0以上版本使用sqljdbc4.jar,使用sqljdbc4.jar版本好处可以省略 Class.forName("com.micr

java连接MySQL进行增删改操作时报错

java连接MySQL数据库后执行execute语句,控制台总是报错,如下: Exception in thread "main" java.sql.SQLException: Could not retrieve transation read-only status server ……? Caused by: java.sql.SQLException: Unknown system variable 'tx_read_only' 我捣鼓了一整个下午,参考别人的代码,甚至完全套用别

java连接oracle数据库的实现代码

package connectionOracleDatabase; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class ConnectionOracleDa