1

앱 엔진에 새로 생겼습니다. 나머지 API를 작성 중입니다. 누군가가 전에이 딜레마에 빠져 있었는지 궁금하십니까?APP-ENGINE에서 정적 json 파일의 데이터를로드하거나 데이터를 데이터 저장소에로드합니까?

이 데이터는 많지 않으며 (3 ~ 4 페이지), 매년 변경됩니다.

옵션 1 :. JSON으로 데이터를 기록하고 JSON 파일을 요청이 들어올 때마다 구문 분석

옵션 2 : 객체로 모델과 요청이 들어올 때마다이를 검색하고 데이터 저장소에 던져

.

누구든지이 방법이나 더 나은 해결책이 있다면 장점과 단점을 알고 있습니까?

답변

2

물론 대답은 다릅니다.

  • 당신이 코드 푸시의 데이터에 변화가 의존 할 싶어 -

    여기에 내가 결정을 내릴 자신을 물어하려는 몇 가지 질문은 무엇입니까?

  • 는 VCS에 체크하지 않아야 데이터에서 중요한 정보가이 데이터에 의존하는 시스템의 다른 어떤 부분
  • 가능성을 측면에서 변경하려는 데이터에 대한 당신의 가정은 데이터를 가정 업데이트 및 크기

의 주파수 (< 1메가바이트) 작은과의 민감한 정보가 없다, 나는 그것이 가장 간단한 해결책으로 JSON 파일을로드 밖으로 시작 것입니다.

각 요청마다 데이터를 구문 분석 할 필요는 없지만 최상위 수준에서 데이터를 구문 분석하고 효과적으로 상수로 처리 할 수 ​​있습니다. 이 라인을 따라

뭔가 -

import os 
import json 

DATA_FILE = os.path.join(os.path.dirname(__file__), 'YOUR_DATA_FILE.json') 
with open(DATA_FILE, 'r') as dataFile: 
    JSON_DATA = json.loads(dataFile.read()) 

그런 다음 코드에서 사전처럼 JSON_DATA를 사용할 수 있습니다. 경우

awesome_data = JSON_DATA['data']['awesome'] 

가 여러 곳에서 데이터에 액세스 할 필요가 있습니다 (예. config.py) 자신의 모듈로이 이동하고 당신이 그것을 필요로 할 때마다 JSON_DATA를 가져올 수 있습니다.

Ex. in main.py

from config import JSON_DATA 

# do something w/ JSON_DATA 
+0

답장을 보내 주셔서 감사합니다! @alpeware! VCS는 내 데이터 파일을 삭제할 것을 권장합니다! 파이썬에서 어떻게 "최상위 레벨에서 한번 구문 분석하고 효과적으로 상수로 취급 할 것입니까?" – jiachen

+0

@jiachen 문제가 없습니다. 구체적인 예를 들어 대답을 업데이트했습니다. 아직 질문이 있으면 알려주세요. – alpeware

+0

예를 들어 주셔서 감사합니다 !! 들어오는 모든 HTTP 요청에 대해 JSON이 구문 분석되고로드된다는 것을 의미합니까? – jiachen