2013-10-27 89 views
0

我最近有一個問題:我們如何才能意識到實時按鈕點擊的限制? 例如,按鈕上的點擊次數有10次限制。例如,鮑勃點擊了按鈕,然後Bob和Rob發現有9次點擊。第10次按下按鈕後禁用。如何實時點擊按鈕上的點擊次數限制?

你會建議什麼?

+0

是否要限制所有用戶的點擊次數,如果兩個不同的用戶點擊該按鈕,可用的點擊次數是8次?如果是這樣,您需要使用您網站的所有用戶之間的通信,然後如果Rob單擊您必須通知bob剩餘多少點擊。也許websocket會幫助你。 –

+0

您需要使用一些東西來協調和調解瀏覽器中的點擊次數。許多開發人員可能會使用socket.io作爲「實時」部分,但最終,如果沒有中央服務來決定是否允許根據您建立的規則進行「點擊」,這是不實際的(因爲您將擁有競賽條件)。 – WiredPrairie

回答

0
  • 使用數據庫來跟蹤點擊
    • 根據您的功能性需求的數量,你可能想在頻譜與「最終一致性」的「立即一致性」結束這樣既可以使用傳統的關係數據庫與約束和事務處理或將點擊存儲在一個單獨的MongoDB文檔中,您可以自動更新。
  • MongoDB的您可能會成立一個ClickTrackers收集和像一個文件:

{ 
    button: "reserveSeat": 
    clickedBy: [userId1, userId2] 
} 
  • 那麼你可以使用$addToSet
  • 一個Redis的集可能工作得很好(假設您允許每個用戶1次點擊)
  • 你會想一些實時庫,幫助您推送更新了連接到瀏覽器。也許meteor.js或socket.io.js
  • 沒有辦法避免邊緣情況下顯示用戶之間有1點擊左,其他人點擊它,然後第一個用戶點擊它之前點擊數減少0(比如買票流行的演唱會,例如),所以必須進行處理並編寫測試了它,並有一個UI要說到用戶「哎呀沒有點擊左側,實際上,對不起」

希望這可以讓你開始,但因爲它是你的問題是沒有遵循stackoverflow指南,因爲它是「太寬泛」,你還沒有發佈任何你已經嘗試過的代碼,所以去嘗試一些東西,並回來一些代碼片段。