[英]Mongodb - Database hits
我想有一個帶觀景台的指南區。 目前,我擔心性能。 我想實時擁有它,所以如果有人查看該頁面,我想增加計數器。
我擔心是因為,如果我每天有1000000次觀看該怎么辦。 所以我必須打我的分貝1000000次,以增加計數器。 (僅在一個指南上!)
我在計算性能命中時遇到問題。 這是對性能的影響很大還是對更新整數的影響很小?
我的解決方法是緩存視圖並僅每隔x個視圖提交一次。 這將使數據庫命中率降低x倍。 (例如x = 100)
我目前正在使用mongohq.com,似乎它們具有統一的定價模型,因此我只為存儲付費,而不為讀/寫付費。
我問是因為我不想濫用他們的定價模型。
編輯:
這是我增加觀看次數的代碼。
public static void increaseViews(String title) throws UnknownHostException,
MongoException, DbAuthException {
Datastore ds = DatabaseConnect.getInstance().getDatastore();
Query<UserGuides> q = ds.createQuery(UserGuides.class).field("title")
.equal(title);
UpdateOperations<UserGuides> ops = ds.createUpdateOperations(
UserGuides.class).inc("views");
ds.update(q, ops);
}
免責聲明:我是MongoHQ的創始人
使用$ inc運算符執行此操作對性能影響不大。 MongoDB有一個很好的方法來做到這一點。
例如,您的查詢可能類似於:
db.pages.update({page: "index"}, {$inc: {hits: 1}})
Mongo可以非常快速地處理這些問題,並且可以很好地滿足您的工作需求。 如果您到了要濫用計划的地方,我們將禮貌地告知您;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.