我正在構建一個應用程序,並且無法選擇如何在django應用程序中多次訪問靜態數據。我在該領域的經驗接近零,所以我可以使用一些幫助。在django應用程序中多次訪問靜態數據
該應用程序基本上包含在一個阻力&下降的食物。當您將食物拖到確定的地方時(例如早餐),不同的值會得到更新:總早餐卡路里,全天營養素(微/微),全天卡路里,...這就是爲什麼我認爲我存儲和訪問數據是非常重要的性能演講。
這是我目前使用JSON文件的摘錄:
foods.json
{
"112": {
"type": "Vegetables",
"description": "Mushrooms",
"nutrients": {
"Niacin": {
"unit": "mg",
"group": "Vitamins",
"value": 3.79
},
"Lysine": {
"units": "g",
"group": "Amino Acids",
"value": 0.123
},
... (+40 nutrients)
"amount": 1,
"unit": "cup whole",
"grams": 87.0 }
}
我已經考慮過不同的方案:
1)JSON(保我目前正在使用):
每當我將食物拖到「可放置」的地方時,我會調用getJSON函數來訪問食物數據,然後更新相應的值。這個文件的大小爲2mb,但是當我添加更多食物時它肯定會增加。我使用這個選項是因爲它是開始構建應用程序最快的選擇,但我認爲它不適合實時應用程序。
2)RDBMS與標準化領域:
我可以創建兩個模型:食品和營養,每一種食物都有40+由FK營養成分有關。我看到的問題是,每次發出食物數據請求時,應用程序都會多次觸擊分貝來檢索它。
3)RDBMS與picklefield:
這是我真正考慮的選項。我可以創建一個食物模型,並將營養物質放在酸菜中。
4)一些與Redis的/ Django的緩存系統:
我將深入更深入地進入這個選項。我已經閱讀了一些關於它們的內容,但我不清楚是否有某種方法可以用它們來解決我遇到的問題。
在此先感謝, 馬里亞諾。