현재 게임이 진행되고 있는 상태를 관리해야하는 상황이에요.
원래는 게임들의(게임 객체들의) 상태 들을 변수에 배열 collection으로 관리하고 있었어요.
현재는 WAS를 클러스터링 환경으로 구성하기 위해 게임 상태(게임 객체들)을 redis에 저장하고 있는 상태에요.
그런데 구글링을 해보니 redis를 캐시 용도로 많이 사용하지 데이터 store용으로 사용하는 경우는 별로 없더라구요.
게임 관련 데이터는 I/O 작업이 많아 In-memory db에서 관리를 하고, 게임이 끝나면 mongoDB에 지난 게임 정보를 저장하려고 하는데 괜찮은 방법일지 마스터님의 의견이 궁금합니다.
→ 괜찮은 방법이라고 생각해요! 그리고 게임이 끝날 때 반영하기보단, 주기적으로(5초 정도?) 반영해주면 더 좋지 않을까 싶네요!
그리고 redis에 저장할 때 JSON.stringify()로 직렬화를 하여 저장을 하고 있는데, 조회할 때는 json 데이터를 일일히 파싱해서 game 객체로 만들고, 비즈니스 로직을 처리하고 있어요. 좀 더 좋은 방법이 있을 지 궁금해요.
(일반적인 rdb를 사용했을 때는 보통 orm을 사용했었어서 따로 record ↔ 객체 간의 파싱 작업을 생각하지 않아도 됐었는데, redis는 마땅한 orm을 찾지 못했어요.)
→ 일단 이렇게 해도 무방하다고 생각을 하고,
→ 이런 라이브러리도 있답니다~

→ 주기적으로 DB에 반영해주면 어떨까요?