1

在我的網站上,我將爲某些活動提供點數,類似於stackoverflow。我想根據很多因素來計算價值,因此每個用戶的每次計算都需要10個SQL查詢。用於緩存動態用戶內容的設計模式(在Django中)

我在想緩存它:

    在內存緩存
  • 在用戶的行數據庫(這樣無論我需要從基本用戶我伊斯利顯示點)

在數據庫中存儲看起來很簡單,但另一方面它是多餘的信息,我決定詢問,因爲也許有更容易和更漂亮的解決方案,我錯過了。

回答

1

我會強烈建議這個程序在模型中存儲的計算值:https://github.com/initcrash/django-denorm

內存緩存比分貝快......但如果你已經有反正檢索數據庫記錄,具有緩存在您檢索的行中的計算值(作爲「非規範化」字段)甚至更快,而且它是持久的。