SnappyRedisSerializer
Snappy 압축 Redis 직렬화기. Google Snappy 압축 알고리즘 사용.
클래스 정의
class SnappyRedisSerializer<T>(
private val serializer: RedisSerializer<T>
) : RedisSerializer<T>메서드
serialize()
override fun serialize(obj: T?): ByteArray?Snappy 압축하여 ByteArray 반환.
deserialize()
override fun deserialize(bytes: ByteArray?): T?Snappy 압축 해제하여 객체 반환.
내부 메서드
| 메서드 | 용도 |
|---|---|
| compress() | SnappyOutputStream으로 압축 |
| decompress() | SnappyInputStream으로 해제 |
특징
- Snappy 알고리즘: Google 개발 고속 압축
- 데코레이터 패턴: 기존 Serializer를 감싸서 압축 기능 추가
- org.xerial.snappy: Java Snappy 라이브러리 사용
압축 알고리즘 비교
| 알고리즘 | 압축률 | 속도 |
|---|---|---|
| GZIP | 높음 | 느림 |
| LZ4 | 낮음 | 매우 빠름 |
| Snappy | 중간 | 빠름 |