Java Serialize/Deserialize

By | 2021년 8월 2일
Table of Content

Java Serialize/Deserialize

직렬화/역직렬화

자바에서 클래스의 정보를 전송 또는 저장을 위해 Serialize 를 이용합니다.

일반적으로는 짧은 시간 안에 Deserialize 하기에 문제가 되지는 않지만,
긴 시간동안 저장 후, Deserialize 를 시도하게 되면 Deserialize 에 실패할
가능성이 생깁니다.

Cache 를 JDBC/Redis 에 저장

CacheJDBC/Redis 에 장시간 보관하는 경우,
오류가 발생할 가능성이 생깁니다.

다만, 캐시의 경우, Deserialize 실패한 캐시를 폐기하고,
실서버에서 다시 데이타를 가져오면 되기에 문제점의 크기는 작습니다.

물론 대비가 필요한 것은 여전합니다.

Session 정보를 JDBC/Redis 에 저장

세션정보의 경우, 문제점이 커집니다.

Deserialize 가 실패했다는 의미는 로그인이 풀린다는 의미가 됩니다.
즉, 사용자가 다시 로그인해야 하는 문제가 발생합니다.

따라서, 장시간 세션정보를 저장하려면,
JDK 에서 기본으로 제공하는 Serialize/Deserialize 대신,
Json 방식으로 저장하도록 시스템을 변경하는 것이 필요합니다.

답글 남기기