2015-07-19 30 views
2

我正在使用Waterline,這是令人驚訝的Node.js的ORM。我認爲有兩種方法來計算關係(關聯)。什麼是快速計算關係的方法?

第一種方法是在關係記錄添加或刪除時應用記錄計數。例如)附加到帖子的評論,帖子的評論計數字段將被增加。

第二種方法是使用'count'查詢。當我需要時,我可以計算關係。

我擔心的是第二種方式更容易,但它似乎比第一種方式慢。它可以要求太多。但第一種方式需要更多髒碼。

我真的不知道什麼是計數關係的最佳方法。

回答

0

這個問題的答案必須是一個小的意見,但我會給你我的觀點。

我會去「計數查詢」解決方案,因爲它是獲取此信息的最可靠的方法。正如你所說,另一種解決方案需要更多髒代碼,並且可能更容易被竊聽。我總是試圖用一種方法來檢索信息。

如果請求過於緩慢和/或頻繁出現並減慢應用程序速度,那麼您應該考慮緩存的結果。根據您使用的基礎架構,可以將查詢結果緩存在變量中或緩存後端(如memcachedRedis)中。您需要在需要時使緩存無效,並由您決定緩存的生存期。您應該定義應用程序的全局緩存狀態,以便可以將其用於應用程序的其他部分。

+0

對不起,太晚了!謝謝你的回答! –

+0

每個計數結果是否可以存儲爲所有帖子的視圖,喜歡,剪貼簿?我不知道Redis快速緩存後端。我會用Google搜索,但你能給我一些線索嗎? –

+0

我現在沒有太多時間來更新答案,但也許你可以看看[這個模塊](https://github.com/BryanDonovan/node-cache-manager/blob/master/README.md )或[this one](https://www.npmjs.com/package/node-cache) –

相關問題