cache java redis

java - cache - redis python



La mejor biblioteca de Redis para Java (7)

He probado JDBC-Redis, Jredis y Jedis. JDBC-Redis no es bueno en rendimiento. JRedis y Jedis son rápidos, uso Jredis por momentos, pero ahora prefiero Jedis porque es simple, y puedo manejar los errores de conexión de red como quiera.

La página oficial de Redis incluye a JDBC-Redis y JRedis. ¿Cuáles son las ventajas / desventajas de cada uno? Hay más opciones ?


JDBC-Redis es solo un contenedor JDBC para la base de datos JRedis.
Si planea usar su código con diferentes back-ends, entonces JDBC es una buena forma de hacerlo. NOTA: No es una implementación completa de JDBC y el NOSQL se desbordará.
Si te vas a quedar con Redis, te sugiero usar la API, que te dará más flexibilidad. Utilice un patrón de capa DAO para encapsular su acceso de base de datos y, en el futuro, eso es todo lo que necesitará cambiar.


Jedis es un muy buen cliente. He usado jedis para hacer algunas pruebas de rendimiento contra redis. 50 clientes, solicitudes de 1 m completadas en 20 segundos (en una máquina antigua intel 2core 2.6g, red de 100 m). Creo que el rendimiento puede ser mucho mayor si puedo usar una red de 1000 m para hacer la prueba.


También puede usar Jedis , que también se encuentra en la página oficial de clientes de Redis . Es compatible con la última versión de Redis.

Actualizar

A partir de junio de 2012, Jedis es la biblioteca cliente de Java recomendada por la página oficial de Redis.


Tanto Jedis como JRedis se están desarrollando activamente. Yo personalmente uso Jedis ya que parece ser desarrollado más activamente.

Spring proporciona una envoltura alrededor de ambas implementaciones y proporcionan serialización / deserialización, entre otras cosas:

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/

ACTUALIZACIÓN Spring Data ahora agregó soporte para una tercera biblioteca llamada rjc (Redis Java Client). Sin embargo, no sé cuáles son las ventajas y desventajas.


Una solución más fácil es no preocuparse por trabajar en el nivel más bajo, sino utilizar un Object Hash Mapper (OHM) como JOhm en su lugar. JOhm permite a los usuarios decorar sus objetos existentes con anotaciones familiares para permitir la persistencia en Redis sin ningún cambio de código invasivo. Ni siquiera necesita ninguna configuración externa. Puede pensar en OHM como una contraparte NoSQL para el ORM de RDBMS.

JOhm está alojado here


solo una actualización: parece que jredis ya no es tan activo, sin embargo, jedis va fuerte y recientemente implementó algunas funciones geniales, también es el mismo desarrollador de JOhm.

extraer de su archivo Léame en github:

Ok ... entonces, ¿qué puedo hacer con Jedis? [...]

Actas

Pipelining

Publicar / Suscribir

Persistencia

comandos de control

Comandos de control del servidor remoto

Agrupación de conexiones

Sharding (MD5, MurmureHash)

Etiquetas clave para sharding

Sharding con pipelining

Estuve usando jredis hasta hace poco en media docena de proyectos, los moví a todos a jedis en muy poco tiempo, sin sorpresas.