2013-07-22 3 views
0

사용자가 3 개의 목록 (예 : A, B 및 C)의 매개 변수 조합을 사용하여 검색 할 수있는 장고 앱을 사용 중입니다. 총 번호. 가능한 검색 수 = len (A) xlen (B) xlen (C).쿼리 시간을 줄이기 위해 정적 파일에 데이터 저장

각 검색에 대해 전체 알고리즘이 실행되어 데이터베이스에서 데이터를 가져와 일부 작업을 수행 한 다음 마지막으로 템플릿에 전달할 컨텍스트를 제공합니다. 이것은 많은 시간이 소요됩니다.

쿼리 시간을 줄이기 위해 정적 파일 (이름이 a + b + c 인 파일)을 만들고 모든 쿼리를 실행하여이 파일에 데이터를 저장하려고합니다. 따라서 사용자가 매번 전체 고아를 실행하는 대신 모든 항목을 검색하면 이러한 정적 데이터 파일에서 컨텍스트가 직접 발생합니다.

이 데이터를 저장하는 데 가장 적합한 파일 형식은 무엇입니까? 쿼리 시간을 줄이기위한 좋은 접근 방법입니까? 데이터가 (> GB) 매우 크다

답변

1

하지 않는 한, 장고 캐시 프레임 워크를 통해 캐싱 시스템 (레디 스, 또는 memcached와)를 사용 : https://docs.djangoproject.com/en/dev/topics/cache/

+0

감사합니다 응답을! 알고리즘의 코드는 2000 줄로 구성되어 있으며 각 쿼리에 대해 다시 쿼리하지 않기 때문에 시간을 절약 할 수 있다고 생각합니다. 또한이 파일에로드 된 데이터는 매일 계속 변경됩니다. memcached를 사용하면 자주 변경된 내용을 볼 수 있습니다. –

+0

이전에 생각한대로 할 수 있습니다. 가능한 모든 쿼리를 미리 계산하고 유지하십시오. 결과는 "정적 파일"입니다. 하지만 캐싱을 위해 제안하는 가장 좋은 "정적 파일"형식은 메모리 캐싱 시스템 (memcached, redis, ...)입니다. – jacquarg

관련 문제