我正在從Salesforce中提取JSON數據。我可以有大約10 000個記錄,但從來沒有更多。爲了防止Api限制並且必須爲每個請求打Salesforce,我想我可以每小時查詢一次數據,然後將其存儲在內存中。顯然這會更快,並且更不容易出錯。使用節點在內存中處理大型JSON數據集
一個JSON對象將有大約10個屬性,也許還有一個嵌套的JSON對象有兩個或三個屬性。
我正在使用類似於以下的方法來查詢記錄。
getUniqueProperty: function (data, property) {
return _.chain(data)
.sortBy(function(item) { return item[property]; })
.pluck(property)
.uniq()
.value();
}
我的問題是
會的後果是由數據存儲到內存中,並在內存中的數據的工作是什麼?我顯然不想通過對數據進行大量過濾來阻止服務器。
我從來沒有使用過redis,但會像緩存db的幫助?
最好是每隔一小時查詢數據,並將JSON響應存儲爲Mongo等。然後,我會盡我所有反對Mongo而不是內存?每查詢一次Salesforce,我只需刷新數據庫並重新插入數據。
假設您的salesforce數據在該小時內正在更新,則所有請求都會過期,直到下一次更新。 – Andy
一點也不擔心數據過期。它可能已經過時了。它可能只會被更新,無論如何都需要每隔幾個小時才能完成。 – TYRONEMICHAEL