- Description : Redis Subscribe Example For Session Data Logging
- 세션 데이터 저장 시 db0에는 세션 데이터, db1에는 TTL을 가진 데이터를 db0과 동일한 키로 저장
- [Example Flow]
- db0 > set key1_giseoplee { name: giseoplee, age: 28, mail: [email protected] }
- db1 > set key1_giseoplee 1
- db1 > expire key1_giseoplee 3600
- redis.conf 내 notify-keyspace-events Ex 설정
- (node - ioredis) psubscribe로 db1의 expired key event를 구독
- db1의 TTL이 만료되어 이벤트가 발생하면 해당 key를 반환
- 6에서 반환된 key로 db0에 있는 데이터를 mongoDB에 로깅
- pmessage event에서 반환된 key를 컨트롤할 수 있기 때문에 특정 시간 뒤에 이벤트를 발생시키는 비즈니스 로직에 적합
- 챗봇 내 사용자 세션 데이터 로깅 등으로 응용