본문 바로가기
DATA/Redis

Redis - Serialize, Unserialize 란? 직렬화 저장의 단점

by bzerome240 2022. 12. 29.

 

 

Serialize

 

객체를 데이터 스트림으로 만드는 것.

바이트 형태로 바꾸는 것

 

사용하는 곳: 파일 저장, 패킷 전송 시 파싱 가능한 데이터를 만들기 위해 사용한다.

 

 

https://hazelcast.com/glossary/serialization/

 

 

 

그러면 Redis Set 할 때 시리얼라이즈해서 저장하는 이유는 무엇인지 궁금해서 찾다가..

우아한 형제들 기술블로그에서 해당 부분에 대한 단점을 적은 글을 보았다.

 

 

 

자바 직렬화, 그것이 알고싶다. 실무편 | 우아한형제들 기술블로그

{{item.name}} 자바의 직렬화 기술에 대한 대한 두 번째 이야기입니다. 실제 자바 직렬화를 실무에 적용해보면서 주의해야 할 부분에 대해 이야기해보려고합니다. 자바 직렬화 실제 업무에서 사용

techblog.woowahan.com

 

 

 

 

긴 시간 동안 외부에 저장하는 의미 있는 데이터들은 자바 직렬화를 사용하지 말자.

 

 

자바 직렬화는 장점이 많은 기술입니다만 단점도 많습니다.
문제는 이 기술의 단점은 보완하기 힘든 형태로 되어 있기 때문에 사용 시 제약이 많습니다.

그래서 이 글을 적는 저는 직렬화를 사용할 때에는 아래와 같은 규칙을 지키려고 합니다.

 

  1. 외부 저장소로 저장되는 데이터는 짧은 만료시간의 데이터를 제외하고 자바 직렬화를 사용을 지양합니다.
  2. 역직렬화시 반드시 예외가 생긴다는 것을 생각하고 개발합니다.
  3. 자주 변경되는 비즈니스적인 데이터를 자바 직렬화을 사용하지 않습니다.
  4. 긴 만료 시간을 가지는 데이터는 JSON 등 다른 포맷을 사용하여 저장합니다.

 

728x90
반응형

댓글