03. Redis Client
Lettuce
- Lettuce는 non-blocking Reactive 애플리케이션을 구축하기 위한 확장 가능한 Redis 클라이언트이다.
- Java 데이터 구조, Pub/Sub 패턴, 고가용성 및 확장성 등 Redis API에 대한 동기 및 비동기 지원이 모두 포함되어 있다.
Redission
- 분산된 java 컬렉션, 객체 및 서비스의 많은 일반적인 구현을 포함하는 Redis Java 클라이언트이다.
- java 개발자가 key-value 형태의 데이터베이스를 쉽게 구축할 수 있도록 도와준다.
Distributed collections
- Lettuce에서는 아래의 기능만 지원한다.
- Map
- Set
- List
- Queue
- Deque
- ScoredSortedSet
- Stream
- Redisson에서 더 다양한 컬렉션 세트를 제공한다.
- Multimap
- SortedSet
- PriorityQueue
- PriorityDeque
- DelayedQueue
- RingBuffer
- TransferQueue
Locks and Synchronizers
- Lettuce와 달리 Redisson에서는 아래의 기능을 제공한다.
- Lock
- Semaphore
- CountDownLatch
- FairLock
- MultiLock
- ReadWriteLock
Objects
- Lettuce와 Redission 모두 아래 자바 객체를 제공한다.
- Object holder
- AtomicLong
- Publish/Subscribe
- AtomicDouble
- Geospatial
- BitSet
- HyperLogLog
- Redisson은 추가적으로 아래도 제공한다.
- BloomFilter
- BinaryStream
- RateLimiter
**Advanced cache support**
- Redission은 DB 성능을 향상시키는 캐싱에 탁월한 성능을 발휘한다.
- Redisson 캐싱 기능
- DB 작업을 최대 45배 빠르게 하는 near caching을 포함한 Redis용 JCache API 구현
- read-through, write-through, write-behind 캐싱 전략 지원
- Lettuce의 캐시 지원은 그에 비해 부족하다.
- JCache 또는 spring의 캐싱을 지원하지 않는다.
Transactions
- Lettuce에는 지원하지 않지만 Redisson은 트랜잭션을 지원한다.
Stability and ease of use
- Redisson과 Lettuce 모두 대용량 메모리를 처리할 수 있다.
- Redisson은 Amazon ElastiCache 및 Azure Cache for Redis와 같은 클라우드 서비스를 지원한다.
- Redisson을 사용하면 Redis 배포를 직접 관리하는 대신 클라우드를 사용하여 IT 환경을 간소화할 수 있다.
https://redisson.org/feature-comparison-redisson-vs-lettuce.html