На официальной домашней странице Redis перечислены JDBC-Redis и JRedis. Каковы преимущества/недостатки каждого? Есть ли другие варианты?
Лучшая библиотека Redis для Java
Ответ 1
Вы также можете использовать Jedis, который также находится в официальная страница клиентов Redis. Он совместим с последней версией Redis.
Update
По состоянию на июнь 2012 года Jedis - это клиентская библиотека Java, рекомендованная официальной страницей Redis.
Ответ 2
Я пробовал JDBC-Redis, Jredis и Jedis. JDBC-Redis плохо разбирается в производительности. JRedis и Jedis оба быстры, я использую Jredis для раз, но теперь я предпочитаю Jedis, потому что это просто, и я могу обрабатывать ошибки сетевого подключения, как я хочу.
Ответ 3
Оба Jedis и JRedis являются активно развивается. Я лично использую 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 Теперь добавлена поддержка третьей библиотеки под названием rjc (Redis Java Client) - Я не знаю, какие плюсы и минусы для него есть.
Ответ 4
Более простым решением является не беспокоиться о работе на самом низком уровне, но вместо этого использовать объект Hash Mapper (OHM), например, JOhm. JOhm позволяет пользователям украшать свои существующие объекты знакомыми аннотациями, чтобы обеспечить постоянство Redis без каких-либо инвазивных изменений кода. Он даже не нуждается в какой-либо внешней конфигурации. Вы можете думать о OHM как о NoSQL-аналоге ORM РСУБД.
JOhm размещен здесь
Ответ 5
просто обновление: кажется, что jredis больше неактивен, jedis, однако, сильно развит и имеет некоторые замечательные функции, реализованные в последнее время, он также является тем же разработчиком JOhm.
извлечь из их readme на github:
Хорошо... так что я могу сделать с Джедисом? [...]
Сделки
Конвейерная
Publish/Subscribe
Постоянство
команды управления
Команды удаленного управления сервером
Пул соединений
Sharding (MD5, MurmureHash)
Ключевые теги для окантовки
Облицовка конвейером
Я использовал jredis до недавнего времени на полдюжины проектов, переместил их всех в jedis в мгновение ока, без сюрпризов.
Ответ 6
Jedis - очень хороший клиент. Я использовал jedis для проведения теста производительности против redis. 50 клиентов, 1 млн. Запросов, завершенных за 20 секунд (на старой машине intel 2core 2.6g, сети 100 м). Я считаю, что производительность может быть намного выше, если я смогу использовать сеть 1000 м для проведения теста.
Ответ 7
JDBC-Redis - это просто оболочка JDBC для базы данных JRedis.
Если вы планируете использовать свой код с разными концами, то JDBC - это хороший способ. ПРИМЕЧАНИЕ. Это не полная реализация JDBC, и NOSQL будет проходить через.
Если вы собираетесь остаться с Redis, я бы предложил использовать API, который даст вам больше гибкости. Используйте шаблон слоя DAO, чтобы инкапсулировать доступ к БД и вниз по дороге, и это все, что вам нужно будет изменить.