`
m635674608
  • 浏览: 5061653 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Redis 替代品SSDB Java客户端

 
阅读更多

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

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

1.官方客户端

项目地址:https://github.com/ssdb/javassdb

文档说明:http://ssdb.io/docs/java/

实例代码参考:Demo.java

2.ssdb4j

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

项目地址:https://github.com/ideawu/ssdb

maven  dependency:

  1. <dependency>  
  2.     <groupId>org.nutz</groupId>  
  3.     <artifactId>ssdb4j</artifactId>  
  4.     <version>9.3</version>  
  5. </dependency>  

实例代码参考:SimpleClientTest.java
3.另一个ssdbj

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

项目地址:http://git.oschina.net/jbakwd/ssdbj

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

 

  1. <dependency>  
  2.             <groupId>com.lovver</groupId>  
  3.             <artifactId>ssdbj</artifactId>  
  4.             <version>0.0.1</version>  
  5.         </dependency>  

集群配置:ssdbj.xml

 

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <ssdbj>  
  3.     <!-- 定义节点实例,并制定是否为master,以下为双主配置-->  
  4.     <ssdb_node id="ssdb_db1" master="true" host="192.168.36.54"  
  5.         port="8888" user="" password="" loginTimeout="3" tcpKeepAlive="true"  
  6.         protocolName="ssdb" maxTotal="200" maxIdle="10" minIdle="5"  
  7.         testWhileIdle="true" />  
  8.     <ssdb_node id="ssdb_db2" master="true" host="192.168.36.189"  
  9.         port="8888" user="" password="" loginTimeout="3" tcpKeepAlive="true"  
  10.         protocolName="ssdb" maxTotal="200" maxIdle="10" minIdle="5"  
  11.         testWhileIdle="true" />  
  12.     <!-- 集群定义 -->  
  13.     <clusters>  
  14.         <cluster id="ssdb_cluster" notfound_master_retry="true"  
  15.             error_retry_times="3" error_master_retry="true" retry_interval="500"  
  16.             balance="random_weight">  
  17.             <!-- 指定上面节点,支持权重,读写模式 -->  
  18.             <ssdb_node weight="1" rwMode="rw">ssdb_db1</ssdb_node>  
  19.             <ssdb_node weight="2" rwMode="rw">ssdb_db2</ssdb_node>  
  20.         </cluster>  
  21.     </clusters>  
  22. </ssdbj>  

测试代码:SSDBClusterTest.java

 

  1. package cn.slimsmart.redis.demo.ssdb;  
  2.   
  3. import com.lovver.ssdbj.SSDBJ;  
  4. import com.lovver.ssdbj.core.BaseResultSet;  
  5. import com.lovver.ssdbj.core.SSDBCmd;  
  6.   
  7. @SuppressWarnings("unchecked")  
  8. public class SSDBClusterTest {  
  9.     public static void main(String[] args) throws Exception {  
  10.         //解析ssdbj.xml,查询ssdb_cluster,找到一个实例执行get key命令  
  11.         //SSDBCmd 支持ssdb命令  
  12.         //executeUpdate 添加更新  
  13.         BaseResultSet<byte[]> rs= SSDBJ.execute("ssdb_cluster",SSDBCmd.GET,"key");  
  14.         System.out.println(rs.getStatus());  
  15.         System.out.println(new String(rs.getResult()));  
  16.           
  17.         if(SSDBJ.executeUpdate("ssdb_cluster",SSDBCmd.SET,"key","value22")){  
  18.             rs= SSDBJ.execute("ssdb_cluster",SSDBCmd.GET,"key");  
  19.             System.out.println(rs.getStatus());  
  20.             System.out.println(new String(rs.getResult()));  
  21.         }else{  
  22.             System.out.println("executeUpdate fail.");  
  23.         }  
  24.     }  

http://blog.csdn.net/zhu_tianwei/article/details/45013497

http://www.oschina.net/question/35855_142213\

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

http://ssdb.io/zh_cn/

分享到:
评论

相关推荐

    ssdb-redis

    SSDB-Redis是一款高效、可替代Redis的数据存储系统,它主要设计用于解决Redis在面对大数据量时可能遇到的内存不足问题。SSDB的核心优势在于其数据完全离线存储,这意味着它可以将数据保存到硬盘上,而不仅仅依赖于...

    Redis Java 客户端.zip

    Jedis 是Redis的 Java 客户端,专为性能和易用性而设计。您是否在寻找一个高级库来处理对象映射?请参阅redis-om-spring!如何使用 Redis?在 Redis 大学免费学习试用 Redis Cloud深入了解开发者教程加入 Redis 社区...

    spring_redis集成(jedis java客户端)

    spring_redis集成,通过jedis作为redis的客户端。 只提供集成方式,具体api,参照jedis API

    redis-desktop-manager 客户端

    Redis 客户端Redis 客户端Redis 客户端Redis 客户端Redis 客户端Redis 客户端Redis 客户端

    redis客户端

    RedisClient是Redis客户端的GUI工具,使用Java swt和jedis编写,可以方便开发者浏览Redis数据库。该软件支持简体中文,非常适合国内用户使用,不需要汉化就可以直接使用。RedisClient将redis数据以资源管理器的界面...

    Python-ssdbya又一个ssdb的Python客户端用来替代Redis的NoSQL数据库

    Python SSDBYA是针对SSDB数据库的Python接口,它旨在作为Redis的NoSQL数据库替代品。SSDB(Simple Scalable Database)是一款高性能、可扩展的键值存储系统,适用于大量数据的场景。Python SSDBYA客户端为Python...

    RedisDesktopManager可视化客户端

    RedisDesktopManager作为Redis的可视化客户端,它的主要功能和特性包括: - **多语言支持**:支持多种语言界面,方便不同地区的用户使用。 - **连接管理**:可以添加、编辑和保存多个Redis服务器的连接信息,方便...

    Redis的Java客户端Jedis

    **Redis的Java客户端Jedis详解** Redis是一款高性能的键值对数据存储系统,常用于缓存、消息中间件等场景。而Jedis是Redis官方推荐的Java语言客户端,提供了丰富的API来与Redis服务器进行交互。在2018年6月10日,...

    Tomcat 集群 redis 会话管理器 java 客户端 .zip

    当tomcat接收到客户端的请求时,会直接从Redis中加载Session。根据配置支持Redis默认、哨兵、集群模式。展望未来,我们不再需要在负载均衡器中启用粘性会话 (JSESSIONID)。支持Apache Tomcat 7Apache Tomcat 8Apache...

    Redis图形化桌面客户端

    **Redis图形化桌面客户端详解** Redis,全称Remote Dictionary Server,是一种开源的、基于内存的键值存储系统,常用于数据库、缓存和消息中间件等场景。它以其高性能、低延迟以及丰富的数据结构而备受青睐。为了...

    jedisRedis的Java客户端

    Jedis是Redis的Java客户端,它提供了一个丰富的API来操作Redis数据存储系统。Redis是一个高性能的键值数据库,常用于缓存、消息中间件以及数据结构服务器等场景。Jedis作为Java开发者与Redis交互的主要工具,使得在...

    Flasher为国内某大型一线电商平台的分布式缓存框架,基于Redis Cluster实现的Java客户端.zip

    作为Java客户端,Flasher提供了友好的API接口,使得开发人员可以方便地在Java应用中集成和操作Redis Cluster。它封装了与Redis节点的通信细节,如连接管理、命令路由、错误处理等,开发者只需关注业务逻辑,而无需...

    redis客户端免安装版

    本资源提供的“redis客户端免安装版”是一个便捷的Redis管理工具,无需安装过程,解压后即可直接运行,方便用户快速地进行Redis服务器的数据操作与管理。 Redis Desktop Manager是这款客户端的名称,它是一个跨平台...

    redis 客户端

    在学习 redis的时候,就利用空闲时间写出来redisClient 的工具类,该工具类重要用于对 redis 集群的操作,不仅可以对对象String对象进行操作,也可以对 Object 进行操作。希望对大家有所帮助。

    redis mac 客户端

    在Mac操作系统上,为了方便地管理和操作Redis数据库,我们通常会使用特定的客户端工具。"Redis Desktop Manager for Mac 0.9.3.39"就是这样一个专为Mac用户设计的图形化界面工具,它提供了直观、高效的方式来浏览、...

    Windows下的最新版本的Redis,6.2.10,支持客户端连接,方便开发调试

    其实Windows下还有一个Redis的替代品,叫Memurai,也是完全兼容Redis的所有API的,但是不知道为什么,我尝试了很多次,安装之后,使用Redis的CLI工具可以连,但是使用第三方Redis工具连不上Memurai,所以折腾了很久...

    Redis的图形化桌面客户端

    总之,Redis的图形化桌面客户端如Redis Desktop Manager,是开发和运维团队的重要工具,它们帮助提升工作效率,简化日常的Redis管理任务,同时也降低了学习Redis的门槛。通过这样的客户端,即使是对Redis不太熟悉的...

    Redis 模块的 Java 客户端.zip

    生菜模式 LettuceMod 是基于Lettuce的Redis Stack Java 客户端。它支持以下 Redis Stack 功能JSON 数据类型(存储、更新和获取)哈希和 JSON 文档的搜索和查询时间序列数据支持概率数据结构布隆过滤器布谷鸟过滤器t-...

    redis软件+客户端+java测试代码

    Java的Jedis是常用的Redis客户端库,它提供了一系列API,可以用来执行Redis命令,如设置和获取键值、操作列表、集合等数据结构。 "Redis入门教程.pptx"可能是关于Redis的基础教程,涵盖了Redis的基本概念、安装配置...

    aredis:用于Redis的异步管道Java客户端-开源

    AREDIS(异步REDIS Java客户端)是Redis Cache服务器(http://redis.io)的Java客户端,旨在提高性能和效率。 它与每个服务器只有一个连接,并且使用流水线来提高性能,而不是使用连接池。 它使用基于Java 7 NIO的...

Global site tag (gtag.js) - Google Analytics