Java 编写的 SSDB 客户端
(底层架构已经完成,正在补充一些具体的命令)
hydrogen-ssdb 是一个 Java 编写的 SSDB 客户端,支持多线程并发请求和多服务器的负载均衡(客户端分发请求)。
SSDB 是一个类似 Redis 的 NOSQL 数据库,兼容 Redis 协议,且内容占用小。
hydrogen-ssdb 是一个 SSDB 客户端,具有以下特性:
更多特性正在添加当中。
Cluster
是负载均衡的顶层单位,每个 Cluster
包含多个 Server
,一个 Server
可以是主服务器,也可以是从服务器,但 Cluster
中必须要有主服务器。
hydrogen-ssdb 依赖于下面两个框架:
SsdbClient client = new SsdbClient(host, port); client.set("key", "value");
List<Server> servers = Arrays.asList( new Server("192.168.1.180", 8888, null, true), // 主服务器 new Server("192.168.1.180", 8889, null, false) // 从服务器 ); SsdbClient client = new SsdbClient(Sharding.fromServerList(servers)); client.set("name", "hydrogen-ssdb"); // 写入请求一定会发送给主服务器 System.out.println(client.get("name")); // 读取请求会随机发送给任意一台服务器
Sharding sharding = new Sharding(Arrays.asList( new Cluster(new Server("192.168.1.180", 8888), 100), // 100 和 200 这两个参数指的是权重, new Cluster(new Server("192.168.1.180", 8889), 200) // 权重越大的 Cluster 所保存的 key 越多。 )); SsdbClient ssdbClient = new SsdbClient(sharding);