最佳Java Redis库[关闭]


75

Redis官方主页列出了JDBC-Redis和JRedis。每种都有哪些优点/缺点?还有其他选择吗?


2
我的投票也投给了杰迪斯。我认为最活跃的发展!
Alfred 2010年

Answers:


74

您也可以使用Jedis,这也位于Redis官方客户页面中。它与最新版本的Redis兼容。

更新资料

从2012年6月开始,Jedis是Redis官方页面推荐的Java客户端库。


8
您可以尝试Redisson,它在Redis服务器之上实现了分布式且可扩展的Java数据结构。借助Redis的功能使用熟悉的Java数据结构。
Nikita Koksharov 2014年

1
Java 8兼容性?
JohnMerlino 2014年

您如何看待生菜?Redis官方客户页面也
对此作出了

现在有3个“推荐” Java的Redis客户端:Jedis,生菜,Redisson。
chrisjleu

13

我尝试过JDBC-Redis,Jredis和Jedis。JDBC-Redis的性能不佳。JRedis和Jedis都很快,我经常使用Jredis,但现在我更喜欢Jedis,因为它很简单,而且我可以根据需要处理网络连接错误。


10

无论JedisJRedis正在积极发展。我个人使用Jedis,因为它似乎更加活跃。

Spring提供了这两种实现的包装,并且它们提供了序列化/反序列化以及其他功能:

Person p = new Person("Joe", "Trader", 33);
template.convertAndSet("trader:1", p);
Person samePerson = template.getAndConvert("trader:1", Person.class);
Assert.assertEquals(p, samePerson);     

http://git.springsource.org/spring-data/spring-keyvalue-redis/

UPDATE Spring Data现在增加了对名为rjc(Redis Java Client)的第3个库的支持-但是我不知道它的优缺点。


5

Jedis是一个非常好的客户。我使用jedis对redis进行了一些性能测试。50个客户端,在20秒内完成了100万个请求(在老式的Intel 2core 2.6g计算机上,100m网络)。我相信如果我可以使用1000m网络进行测试,性能会更高。


4

只是一个更新:jredis似乎不再那么活跃了,但是jedis变得强大起来,并且最近实现了一些强大的功能,它还是JOhm的开发者。

从他们在github上的自述文件中提取:

好..那我该怎么办Jedis?[...]

交易次数

流水线

发布/订阅

坚持不懈

控制命令

远程服务器控制命令

连接池

分片(MD5,MurmureHash)

分片的关键标签

流水线分片

直到最近,我一直在使用jredis进行六个项目,并将它们全部立即转移到jedis,毫不奇怪。


4

一个简单的解决方案是不用担心最低级别的工作,而应使用像JOhm这样的对象哈希映射器(OHM)。JOhm允许用户使用熟悉的注释装饰现有对象,从而使Redis持久存在,而无需进行任何侵入性代码更改。它甚至不需要任何外部配置。您可以将OHM视为RDBMS ORM的NoSQL副本。

JOhm托管在这里


抱歉,但是我将JOhm称为可怜的redis JPA实现。从本质上讲,它要求您使用注释定义复杂对象的结构。这就引出了一个问题,为什么您首先要尝试将结构化数据存储在“ NoSQL”数据库中。而且它在6年内没有更新。
菲尔(Phil)

1

JDBC-Redis只是JRedis数据库的JDBC包装器。
如果您打算将代码与不同的后端一起使用,那么JDBC是一个不错的选择。注意:这不是完整的JDBC实现,NOSQL将会泄漏。
如果您打算继续使用Redis,那么我建议您使用API​​,它将为您提供更大的灵活性。使用DAO层模式封装您的DB Access,然后进行所有更改。


2
Redis语法与标准SQL完全不同,因此使用JDBC不能如您所建议的那样封装不同的后端:无论如何,我仍然必须编写新的查询...
muriloq 2010年

@muriloq-但是机械获取和释放资源是标准的。
罗曼·希波

实际上,Jredis是Redis的客户端,就像JDBC-Redis是Redis的“连接器/客户端”一样。JDBC-Redis必须丢失几乎所有与SQL相关的接口,这对我来说似乎毫无意义,除非我错过了某些事情……
Phil
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.