2012-09-05 3 views
1

다른 뷰에서 비슷한 쿼리를 많이 생성하는 Django 앱을 개발 중이며 Redis를 사용하여 데이터베이스 대신 Redis를 쿼리하여 작업 속도를 높일 계획입니다.Django 앱에서 Redis를 사용하여 조기에 최적화해서는 안되는 이유는 무엇입니까?

질문을 읽으면서 시작하기 위해 How can I use redis with Django?을 읽었습니다. 가장 좋은 투표 결과가 나오면 다음과 같은 조언을 보게됩니다. "속도가 필요할 때까지 Redis 또는 다른 캐시를 사용하지 마십시오. 최적화 "라고 말하면서, 내가 잘못한 일을하고 있다고 생각했는데,"조기에 최적화하지 마십시오 "라는 말은 무엇을 의미합니까? 내 앱이나 개발 프로세스에 해를 입히기 위해 조기에 최적화하고 있습니까? 만약 그렇다면 무엇을 찾아야합니까? Redis 또는 다른 캐시를 사용하기에 좋은시기를 판단하는 데 사용할 수있는 측정 항목은 무엇입니까?

+1

"미숙 한 최적화"란 미리 정의하기 전에 코드 최적화에 소비한다는 의미입니다. 따라서 정의 상 성급하게 최적화해서는 안됩니다. "왜"필요가 없습니다. –

+0

@cch -이 질문은 Programmers.StackExchange.com에 더 적합합니다. –

답변

2

그가하지 성급하게 "에 의해 무엇을 의미합니까 섹션 참조

"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil" 

출처 :

도널드 크 누스 최적화 다음 두 문장을 만들어 최적화 "?

당신이 가지고 있지 않은 해결 문제를 조기에 최적화하십시오.

Redis 또는 다른 캐시를 사용하기에 좋은 시간을 결정할 때 어떤 측정 기준을 사용할 수 있습니까?

로드 시간으로 인해 영향을받는 경우. 또는 UX가 어떤 식 으로든 영향을받는다면 아마도 시작하는 것이 좋습니다.

더 많은 기술을 추가하면 필요하지 않을 때 빌드/배포 프로세스가 더 복잡해질 수 있습니다. 사람들은 우리 애플리케이션이 지원할 방문자가 몇 천만 명에 달하고 DB에 매일 수백만 개의 항목을 쓰는 방법, 모든 데이터를 효율적으로 관리하는 방법 및 모든 유령 사용자를 위해 쿼리를 빠르게 유지하는 방법에 대해 항상 생각합니다. 앱이 어떻게 확장되고 성장하는지에 대해 생각하는 것은 탁월한 것이지만, 필요하기 전에 앱을 확장 할 이유는 분명 없습니다. django와 trad RDBMS를 잘 생각한 db 스키마와 올바른 색인을 사용하면 아마도 앱이 그 이상으로 크게 지원 될 것입니다.

1

조기 최적화는 개발 프로세스를위한 것입니다. 개발 프로세스 초기에 최적화를 시작하는 것이 좋지 않은 것으로 간주됩니다. "최적화 할 때"Program Optimization

관련 문제