💼 작업 설명
백엔드(BE)는 지도 핀 조회 API(/api/map/pins)에 Redis GEO Cache-Aside 전략을 적용해 두었습니다. DB가 SSOT이고, BE에서 핀 생성·삭제 시 afterCommit으로 Redis를 갱신하며, 매일 새벽 스케줄러가 DB 기준 전체 재적재합니다.
문제는 핀 INSERT/UPDATE가 AI 서비스 경로에서도 다수 발생하는데, AI 쪽에서는 DB commit만 하고 Redis를 갱신하지 않아 신규·수정 핀이 지도 조회 시 캐시 miss/지연 반영이 발생할 수 있습니다. (Redis 미준비·오류 시 DB 폴백으로는 보이지만, 캐시 hit 경로에서는 누락 가능)
따라서 AI 서비스에서도 DB commit 성공 직후 BE PinGeoRedisService와 동일한 규약으로 Redis GEO 캐시를 갱신합니다.
geo:pins / geo:pins:{PIN_TYPE} — GEO 좌표
pin:info:{pinId} — 핀 메타 JSON (TTL 48h)
💼 작업 설명
백엔드(BE)는 지도 핀 조회 API(/api/map/pins)에 Redis GEO Cache-Aside 전략을 적용해 두었습니다. DB가 SSOT이고, BE에서 핀 생성·삭제 시 afterCommit으로 Redis를 갱신하며, 매일 새벽 스케줄러가 DB 기준 전체 재적재합니다.
문제는 핀 INSERT/UPDATE가 AI 서비스 경로에서도 다수 발생하는데, AI 쪽에서는 DB commit만 하고 Redis를 갱신하지 않아 신규·수정 핀이 지도 조회 시 캐시 miss/지연 반영이 발생할 수 있습니다. (Redis 미준비·오류 시 DB 폴백으로는 보이지만, 캐시 hit 경로에서는 누락 가능)
따라서 AI 서비스에서도 DB commit 성공 직후 BE PinGeoRedisService와 동일한 규약으로 Redis GEO 캐시를 갱신합니다.
geo:pins / geo:pins:{PIN_TYPE} — GEO 좌표
pin:info:{pinId} — 핀 메타 JSON (TTL 48h)