第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > ssdb java客户端_Redis 替代品SSDB Java客户端

ssdb java客户端_Redis 替代品SSDB Java客户端

时间:2019-04-30 10:48:42

相关推荐

ssdb java客户端_Redis 替代品SSDB Java客户端

SSDB支持 Redis 网络协议, 所以你可以用 Redis 的客户端来连接 SSDB 服务器. 但是, 使用 SSDB 客户端是最高效的方式。所有的 SSDB 客户端 API 都是支持二进制数据的, 二进制数据即是字符串,字符串就是二进制数据。SSDB 源码仓库中, 内置了许多语言的客户端, 这些便是所谓的官方客户端。

关于java客户端,有如下几种:

1.官方客户端

2.ssdb4j

SSDB的Java驱动,实现了连接池,主从。连接池使用commons-pool。

maven dependency:

org.nutz

ssdb4j

9.3

SSDBJ是一款支持SSDB NoSQL数据库集群的驱动。

功能:

1、ssdb数据库连接池

2、支持多个SSDB数据库的master-slave集群

3、支持集群内部的master和slave的负载均衡,负载均衡暂时支持4中方式(Random round_robin round_robin_weight random_weight)

4、实现了读写分离

5、支持集群内slave获取not_found的情况下从master再次直接获取

6、支持同步未完成时slave读取error的情况下,从master尝试或者重复在slave中尝试。尝试次数可以再配置文件中修改。

具体参考 src/test/resource/ssdbj.xml

ssdbj提供了3中使用方式:

1、直接手动创建连接,可以参考src/test/java/SSDBJTest.java

2、使用单库连接池,可以参考 src/test/java/SSDBPoolTest.java

3、使用集群模式,可以参考src/test/java/SSDBClusterTest.java

集群模式的配置文件可以参考src/test/resource/ssdbj.xml

下面以jbakwd的ssdbj为例。需要下载源码添加到本地maven仓库中。

com.lovver

ssdbj

0.0.1

集群配置:ssdbj.xml

port="8888"user=""password=""loginTimeout="3"tcpKeepAlive="true"

protocolName="ssdb"maxTotal="200"maxIdle="10"minIdle="5"

testWhileIdle="true"/>

port="8888"user=""password=""loginTimeout="3"tcpKeepAlive="true"

protocolName="ssdb"maxTotal="200"maxIdle="10"minIdle="5"

testWhileIdle="true"/>

error_retry_times="3"error_master_retry="true"retry_interval="500"

balance="random_weight">

ssdb_db1

ssdb_db2

测试代码:SSDBClusterTest.java

packagecn.slimsmart.redis.demo.ssdb;

importcom.lovver.ssdbj.SSDBJ;

importcom.lovver.ssdbj.core.BaseResultSet;

importcom.lovver.ssdbj.core.SSDBCmd;

@SuppressWarnings("unchecked")

publicclassSSDBClusterTest{

publicstaticvoidmain(String[]args)throwsException{

//解析ssdbj.xml,查询ssdb_cluster,找到一个实例执行getkey命令

//SSDBCmd支持ssdb命令

//executeUpdate添加更新

BaseResultSetrs=SSDBJ.execute("ssdb_cluster",SSDBCmd.GET,"key");

System.out.println(rs.getStatus());

System.out.println(newString(rs.getResult()));

if(SSDBJ.executeUpdate("ssdb_cluster",SSDBCmd.SET,"key","value22")){

rs=SSDBJ.execute("ssdb_cluster",SSDBCmd.GET,"key");

System.out.println(rs.getStatus());

System.out.println(newString(rs.getResult()));

}else{

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

}

}

}

/zhu_tianwei/article/details/45013497

/question/35855_142213\

http://ssdb.io/docs/zh_cn/redis-to-ssdb.html

http://ssdb.io/zh_cn/

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。