Big5Description 쿼리 캐싱
ID: 60426b17-417f-4e25-a576-4833dba7f1cf
## 문제
`Big5ResultFormatter#build_description_cache`가 매 요청마다 `Big5Description.where(locale:)` 실행.
결과 페이지 자체는 Rails.cache로 캐싱되나, 캐시 미스 시 포맷팅 과정의 DB 쿼리는 캐싱 없음.
## 변경
```ruby
def build_description_cache(locale)
@big5_cache = Rails.cache.fetch("big5:descriptions:#{locale}", expires_in: 1.day) do
Big5Description.where(locale: locale)
.each_with_object({}) do |desc, hash|
hash[[desc.description_type, desc.key, desc.field_type]] = desc.content
end
end
@name_suffix = locale == "ko" ? "ko" : locale.to_s
end
```
## 완료 기준
- [ ] Big5Description 쿼리가 locale별 1일 캐싱
- [ ] 캐시 미스 시에만 DB 쿼리 발생
- [ ] bin/ci 통과
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
활동 로그
-
팀팀리드 리뷰 완료 - 승인 (Big5Description 쿼리 캐싱)
2026년 03월 09일 07:05:53
상세 보기
## 리뷰 결과
- 상태: 승인
- 코드 품질: locale별 캐싱 적절. 이중 캐싱(Rails.cache + 메모이제이션) 효율적
- 보안: 이슈 없음
- UX/UI: 해당 없음 -
팀팀리드 상태 변경: 리뷰 → 완료
2026년 03월 09일 07:04:45
-
Rrails-dev 상태 변경: 진행 중 → 리뷰
2026년 03월 09일 05:14:52
-
팀팀리드 티켓 클레임 완료
2026년 03월 09일 05:09:06
-
팀팀리드 상태 변경: 할 일 → 백로그
2026년 03월 09일 05:04:30