결과가 자주 변경되지 않는 비싼 db 쿼리가 있습니다.RoR에서 값 비싼 쿼리 결과 캐쉬
이 쿼리를 사용하여 실제로 95 %의 시간 동안 신경 쓰이는 유일한 것은 50KB의 원시 데이터 문자열입니다.
비싼 자주 사용 된 쿼리의 결과를 캐싱하기 위해 페이지 캐싱을 사용하는 것이 "RoR 방식"TM과 완전히 반대가 있습니까?
db 서버 자체에서 결과 집합을 캐싱하는 것은 약간 과잉입니다. 실제로 쿼리 결과에서 .collect {}를 (를) 가져온 데이터를 약간만 신경 쓰고 있기 때문입니다. 그리고 페이지 캐싱은 여러 페이지가이 데이터를 사용하고 모두 주변의보기 만 변경하여 동일한 캐싱을하기 때문에 낭비입니다. 당신이 원하는 것처럼
"RoR 방식"에 대해 너무 걱정하지 않을 것입니다. 당신이 문제에 대한 해결책을 가지고 있다면, 그것에 만족하십시오. DHH는 당신 집에 오지 않고 당신의 키보드를 훔칠 것입니다;) 그런데, 프레드릭의 대답은 아마도 당신이 찾고있는 것일 겁니다. – cvshepherd
확인. 캐시를 사용하는 방법을 알고 있지만 (필자는 memcache를 사용하고 있습니다) 적절한시기와 적절하지 않은지는 확실하지 않았습니다. 나는 보통 HTML/자바 스크립트가 완전히 렌더링 된 것을 보았으므로 원시 데이터를 캐시하는 것이 "나쁜 것"인지 확실하지 않았습니다. 나는 그것에 대해 어떤 교리도 없다고 생각할 것입니다. 고마워 여러분 : – Luke