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중간빠름