Офіційна домашня сторінка Redis містить списки JDBC-Redis та JRedis. Які переваги / недоліки кожного з них? Чи є інші варіанти?
Відповіді:
Ви також можете використовувати джедаїв , які також є на офіційній сторінці клієнтів Redis . Він сумісний з останньою версією Redis.
Станом на червень 2012 року, Jedis - це клієнтська бібліотека Java, рекомендована офіційною сторінкою Redis.
І джедаї, і JRedis активно розробляються. Я особисто використовую джедаїв, оскільки, здається, це активніше розробляється.
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/
ОНОВЛЕННЯ Spring Data тепер додало підтримку третьої бібліотеки під назвою rjc (Redis Java Client) - хоча я не знаю, які плюси / мінуси для цього.
Джедеї - дуже хороший клієнт. Я використовував Jedis, щоб зробити певний тест продуктивності проти Redis. 50 клієнтів, 1 млн запитів виконано за 20 секунд (на старій машині Intel 2core 2.6g, мережа 100м). Я вважаю, що продуктивність може бути набагато вищою, якщо я зможу використати мережу 1000 м для проведення тесту.
просто оновлення: схоже, jredis вже не настільки активний, однак jedis стає сильним і нещодавно було реалізовано кілька чудових функцій, це також той самий розробник JOhm.
витяг з їхнього readme на github:
Гаразд .. так що я можу робити з джедаями? [...]
Операції
Трубопровід
Опублікувати / Підписатися
Наполегливість
команди управління
Команди віддаленого управління сервером
Пул з'єднань
Заточування (MD5, MurmureHash)
Ключові мітки для шардінгу
Заточування трубопроводом
До недавнього часу я використовував jredis у півдюжині проектів, швидко переніс їх у джедіс без сюрпризів.
Більш простим рішенням є не турбуватися про роботу на найнижчому рівні, а замість цього використовувати Object Hash Mapper (OHM), такий як JOhm. JOhm дозволяє користувачам прикрашати свої існуючі об'єкти знайомими анотаціями, щоб забезпечити стійкість Redis без будь-яких інвазивних змін коду. Він навіть не потребує жодної зовнішньої конфігурації. Ви можете сприймати OHM як аналог NoSQL ORM RDBMS.
Йома розміщується тут
JDBC-Redis - це просто обгортка JDBC для бази даних JRedis.
Якщо ви плануєте використовувати свій код з різними фоновими кодами, тоді JDBC - це хороший спосіб. ПРИМІТКА: Це не є повною реалізацією JDBC, і NOSQL буде просочуватися.
Якщо ви збираєтеся залишитися з Redis, то я б запропонував використовувати API, який надасть вам більшу гнучкість. Використовуйте шаблон шару DAO для інкапсуляції вашого DB Access і вниз по дорозі, і це все, що вам потрібно буде змінити.