Meilleure bibliothèque Redis pour Java [fermé]

L'officiel Redis page d'accueil de listes de JDBC-et Redis JRedis. Quels sont les avantages / inconvénients de chacun ? Existe-il d'autres options ?

71
demandé sur Swapnil 2010-06-15 20:18:13

7 réponses

vous pouvez utiliser aussi Jedis , qui est également dans le page des clients officiels de Redis . Il est compatible avec la dernière version de Redis.

mise à Jour

depuis juin 2012, Jedis est la bibliothèque client Java recommandée par la page officielle de Redis.

72
répondu xetorthio 2012-06-28 12:06:17

j'ai essayé JDBC-Redis, Jredis et Jedis. JDBC-Redis n'est pas bon en performance. JRedis et Jedis sont rapides, J'utilise Jredis pour les temps mais maintenant je préfère Jedis parce que c'est simple, et je peux gérer les erreurs de connexion réseau comme je le veux.

12
répondu secmask 2013-08-16 07:38:52

les deux Jedis et Jedis sont activement développés. Personnellement, j'utilise Jedis, car il semble être plus activement développé.

Spring fournit un wrapper autour des deux implémentations et ils fournissent serialization/deserialization, entre autres choses:

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 a maintenant ajouté le support pour une troisième bibliothèque appelée rjc (Client Redis Java) -- Je ne sais pas quels sont les pour/contre pour cela, cependant.

10
répondu opyate 2011-05-03 16:32:21

une solution plus facile est de ne pas s'inquiéter de travailler au niveau le plus bas mais d'utiliser un hacheur D'objet (OHM) comme JOhm à la place. JOhm permet aux utilisateurs de décorer leurs objets existants avec des annotations familières pour permettre la persistance à Redis sans aucune modification de code invasive. Il n'a même pas besoin de configuration externe. Vous pouvez penser à L'OHM comme une contrepartie NoSQL à l'ORM de RDBMS.

JOhm est hébergé ici

5
répondu gshx 2011-09-18 21:27:32

Jedis est un très bon client. J'ai utilisé jedis pour faire un test de performance contre redis. 50 clients, 1m demandes traitées en 20 secondes (sur une ancienne machine intel 2core 2.6 g, réseau 100m). Je pense que la performance peut être beaucoup plus élevée si je peux utiliser le réseau 1000m pour faire le test.

5
répondu CharlieQ 2012-05-17 09:39:00

juste une mise à jour: il semble que jredis n'est plus aussi actif, jedis va cependant fort et a eu quelques grandes fonctionnalités mises en œuvre récemment, il est également le même développeur de JOhm.

extrait de leur readme sur github:

Ok.. que puis-je faire avec les Jedis? [...]

Transactions

Pipelining

Publier /S'Abonner

persistance

commandes

commandes de commande de serveur à distance

mise en commun des connexions

Sharding (MD5, MurmureHash)

Clé-balises pour le sharding

Sharding avec le pipelining

j'utilisais jredis jusqu'à récemment sur une demi-douzaine de projets, les ai tous déplacés à jedis en peu de temps, sans surprises.

4
répondu mpenet 2010-12-15 21:46:15

JDBC-Redis est juste un emballage JDBC pour la base de données JRedis.

Si vous prévoyez d'utiliser votre code avec différents back-ends, alors JDBC est une bonne façon de procéder. NOTE: il ne s'agit pas d'une implémentation complète de la JDBC et la NOSQL va saigner à travers.

Si vous allez rester avec Redis alors je suggère d'utiliser l'API, qui vous donnera plus de flexibilité. Utilisez un modèle de couche DAO pour encapsuler votre accès DB et en bas de la route qui est tout ce dont vous aurez besoin changer.

2
répondu Romain Hippeau 2010-06-15 17:50:19