Serialize
객체를 데이터 스트림으로 만드는 것.
바이트 형태로 바꾸는 것
사용하는 곳: 파일 저장, 패킷 전송 시 파싱 가능한 데이터를 만들기 위해 사용한다.
그러면 Redis Set 할 때 시리얼라이즈해서 저장하는 이유는 무엇인지 궁금해서 찾다가..
우아한 형제들 기술블로그에서 해당 부분에 대한 단점을 적은 글을 보았다.
긴 시간 동안 외부에 저장하는 의미 있는 데이터들은 자바 직렬화를 사용하지 말자.
자바 직렬화는 장점이 많은 기술입니다만 단점도 많습니다.
문제는 이 기술의 단점은 보완하기 힘든 형태로 되어 있기 때문에 사용 시 제약이 많습니다.
그래서 이 글을 적는 저는 직렬화를 사용할 때에는 아래와 같은 규칙을 지키려고 합니다.
- 외부 저장소로 저장되는 데이터는 짧은 만료시간의 데이터를 제외하고 자바 직렬화를 사용을 지양합니다.
- 역직렬화시 반드시 예외가 생긴다는 것을 생각하고 개발합니다.
- 자주 변경되는 비즈니스적인 데이터를 자바 직렬화을 사용하지 않습니다.
- 긴 만료 시간을 가지는 데이터는 JSON 등 다른 포맷을 사용하여 저장합니다.
728x90
반응형
'DATA > Redis' 카테고리의 다른 글
[공유] (번역) 캐시 시스템 설계할 때 기억해야 할 6가지 캐싱 전략 (0) | 2023.06.18 |
---|---|
Redis 사용시 주의사항 (0) | 2023.03.09 |
Redis data types 자료구조 유형 (0) | 2022.12.29 |
Redis 문제 해결 - WRONGTYPE Operation against a key holding the wrong kind of value (0) | 2022.12.29 |
Redis 운영모드 - Sentinel, Cluster (0) | 2022.12.29 |
댓글