Java 용 최고의 Redis 라이브러리
공식 Redis 홈페이지에는 JDBC-Redis 및 JRedis가 나열되어 있습니다. 각각의 장단점은 무엇입니까? 다른 옵션이 있습니까?
공식 Redis 클라이언트 페이지 에도있는 Jedis 를 사용할 수도 있습니다 . 최신 버전의 Redis와 호환됩니다.
최신 정보
2012 년 6 월 현재 Jedis는 Redis 공식 페이지에서 권장하는 Java 클라이언트 라이브러리입니다.
JDBC-Redis, Jredis 및 Jedis를 사용해 보았습니다. JDBC-Redis는 성능이 좋지 않습니다. JRedis와 Jedis는 둘 다 빠르며 Jredis를 오랫동안 사용하지만 이제는 Jedis가 간단하고 원하는대로 네트워크 연결 오류를 처리 할 수 있기 때문에 Jedis를 선호합니다.
두 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 SpringData 는 이제 rjc (Redis Java Client) 라는 세 번째 라이브러리에 대한 지원을 추가 했습니다.하지만 장단점이 무엇인지 모르겠습니다.
더 쉬운 해결책은 최저 수준에서 작업하는 것에 대해 걱정하지 않고 대신 JOhm과 같은 OHM (Object Hash Mapper)을 사용하는 것입니다. JOhm을 사용하면 익숙한 주석으로 기존 개체를 장식하여 침입적인 코드 변경없이 Redis에 대한 지속성을 허용합니다. 외부 구성도 필요하지 않습니다. OHM은 RDBMS의 ORM에 상응하는 NoSQL로 생각할 수 있습니다.
Jedis는 아주 좋은 고객입니다. redis에 대한 성능 테스트를 위해 jedis를 사용했습니다. 50 개의 클라이언트, 1m 요청이 20 초 만에 완료 됨 (구형 인텔 2 코어 2.6g 시스템, 100m 네트워크에서). 테스트를 위해 1000m 네트워크를 사용할 수 있다면 성능이 훨씬 더 높아질 수 있다고 생각합니다.
업데이트 일뿐입니다. jredis는 더 이상 활성화되지 않은 것 같습니다. 그러나 jedis는 강력 해지고 있으며 최근에 몇 가지 훌륭한 기능을 구현했으며 JOhm의 동일한 개발자이기도합니다.
github의 readme에서 추출하십시오.
좋아 .. 그래서 나는 Jedis로 무엇을 할 수 있습니까? [...]
업무
파이프 라이닝
게시 / 구독
고집
제어 명령
원격 서버 제어 명령
연결 풀링
샤딩 (MD5, MurmureHash)
샤 딩용 키 태그
파이프 라이닝으로 샤딩
나는 최근까지 6 개의 프로젝트에서 jredis를 사용하고 있었고 놀라움없이 순식간에 모든 것을 jedis로 옮겼습니다.
JDBC-Redis는 JRedis 데이터베이스 용 JDBC 래퍼입니다.
다른 백엔드로 코드를 사용할 계획이라면 JDBC가 좋은 방법입니다. 참고 : 완전한 JDBC 구현이 아니며 NOSQL이 블리드됩니다.
Redis를 계속 사용하려면 더 많은 유연성을 제공하는 API를 사용하는 것이 좋습니다. DAO 레이어 패턴을 사용하여 DB 액세스를 캡슐화하고 변경해야 할 모든 작업을 수행하십시오.
참고 URL : https://stackoverflow.com/questions/3047010/best-redis-library-for-java
'Program Tip' 카테고리의 다른 글
JPA 다중 임베디드 필드 (0) | 2020.10.24 |
---|---|
Qt, QtCreator 및 QMake에서 GCC 컴파일러 스위치 구성 (0) | 2020.10.24 |
Return 문을 사용한 이상한 Try-Except-Else-Finally 동작 (0) | 2020.10.24 |
노드의 중괄호 (중괄호) require 문 (0) | 2020.10.24 |
ASP.NET MVC에서 권한이없는 컨트롤러 리디렉션 (0) | 2020.10.24 |