Table of Contents
Java Serialize/Deserialize
직렬화/역직렬화
자바에서 클래스의 정보를 전송 또는 저장을 위해 Serialize
를 이용합니다.
일반적으로는 짧은 시간 안에 Deserialize
하기에 문제가 되지는 않지만,
긴 시간동안 저장 후, Deserialize
를 시도하게 되면 Deserialize
에 실패할
가능성이 생깁니다.
Cache 를 JDBC/Redis 에 저장
Cache
를 JDBC/Redis
에 장시간 보관하는 경우,
오류가 발생할 가능성이 생깁니다.
다만, 캐시의 경우, Deserialize
실패한 캐시를 폐기하고,
실서버에서 다시 데이타를 가져오면 되기에 문제점의 크기는 작습니다.
물론 대비가 필요한 것은 여전합니다.
Session 정보를 JDBC/Redis 에 저장
세션정보의 경우, 문제점이 커집니다.
Deserialize
가 실패했다는 의미는 로그인이 풀린다는 의미가 됩니다.
즉, 사용자가 다시 로그인해야 하는 문제가 발생합니다.
따라서, 장시간 세션정보를 저장하려면,
JDK 에서 기본으로 제공하는 Serialize/Deserialize
대신,
Json 방식으로 저장하도록 시스템을 변경하는 것이 필요합니다.