假設,如果用戶在文本文件上點擊「保存,保存,保存,保存」許多次,一次更改單個字符並在處理第一次保存之前管理重新保存5次,那麼最佳實踐是什麼在那種情況下?假設我們沒有「批處理過程」選項......或者也許他們在處理完所有的文件之前,先保存,保存,保存並保存4個文件。控制發出HTTP請求的推薦方法?
您是否應該排隊請求並逐個處理它們?或者你應該讓它發生,它會以某種方式自行解決?
謝謝!
假設,如果用戶在文本文件上點擊「保存,保存,保存,保存」許多次,一次更改單個字符並在處理第一次保存之前管理重新保存5次,那麼最佳實踐是什麼在那種情況下?假設我們沒有「批處理過程」選項......或者也許他們在處理完所有的文件之前,先保存,保存,保存並保存4個文件。控制發出HTTP請求的推薦方法?
您是否應該排隊請求並逐個處理它們?或者你應該讓它發生,它會以某種方式自行解決?
謝謝!
我們通常在頁面初始化時在頁面中發送GUID,並在保存請求中發送它。服務器檢查一個共享的短期內存緩存 - 如果它是一個未命中,我們存儲GUID並處理保存,如果它是一個命中,我們作爲一個重複請求失敗。這允許每頁加載一次保存(除非您在成功保存時重新執行GUID)。
如果您的save
操作足夠輕便,用戶點擊保存的次數應該無關緊要。與數千用戶的負載相比,單個用戶可以產生的流量通常相當輕。
建議您在撰寫Gmail郵件或在Google文檔中工作時觀看HTTP流量。兩者都非常健談,並經常將更新發送回服務器。
我只是想知道,如果這是服務器的問題,還是它有一切內置來處理?我在想這裏的Rails :) – 2009-11-17 07:25:08
只取決於編輯語義。如果「上一次作家獲勝」沒問題,並且您沒有任何應用程序級事務或鎖定問題,我不會擔心。如果你在談論信用卡交易或其他有主要副作用的東西(保存到磁盤,創建文件等),那麼是的,你需要以某種方式鎖定它。 – nitzmahone 2009-11-17 08:46:14