資料庫 延時 延遲 投票
我做了一個投票項目,不想每一次投票都去訪問更新一次資料庫,想要在一定時間之後才更新資料庫,應該如何操作了?
回複討論(解決方案)
如果投票後不立即更新資料庫,那麼顯示出的投票結果不就不正確嗎?
即時性的功能,沒必要批量插入。
如果投票後不立即更新資料庫,那麼顯示出的投票結果不就不正確嗎? 我想是一分鐘更新一次資料庫
我能想到的比較直接的方法是:
將投票結果寫入一個文字檔,格式可以是SQL語句(推薦),也可以是資料的簡單dump。
後台跑一個cron的工作,每隔一分鐘掃描該軟體,用一些標記(比如上次處理的最大ID,timestamp)來過濾需要更新的內容到資料庫。
可以把投票結果分時間段存入數組,數組寫入一個臨時檔案,每隔一段時間提取這個檔案,然後清空這個檔案,跟4樓的思路差不多!
用隊列吧!這樣應該挺方便,資料即時還便捷~
使用緩衝比如memcache如何?
每過一段時間批量讀取並寫入資料庫 同時清空memcache
做一個b,把資料寫到表b裡,隔斷時間把b的資料更新到a裡面。
和 4 5 7樓想法差不多 建立臨時檔案 儲存然後 到時間讀到庫裡面去
寫入檔案 再存入資料庫?
那麼資料庫還有什麼用處?
我建議 你還是直接寫入資料庫吧
檔案的並發其實不好處理的
而且 從讀取檔案 和資料庫的角度來說我覺得 還是資料庫比較方便
資料庫就是幹這個的。你的這個項目是個非常小的項目。
mysql記憶體表處理資料。
我能想到的比較直接的方法是:
將投票結果寫入一個文字檔,格式可以是SQL語句(推薦),也可以是資料的簡單dump。
後台跑一個cron的工作,每隔一分鐘掃描該軟體,用一些標記(比如上次處理的最大ID,timestamp)來過濾需要更新的內容到資料庫。
我就是以這個思路來做的
可以把投票結果分時間段存入數組,數組寫入一個臨時檔案,每隔一段時間提取這個檔案,然後清空這個檔案,跟4樓的思路差不多!
你說的每隔一段時間提取檔案應該如何操作了?PHP的程式都是觸發以後才啟動並執行吧,如何可以每隔一段時間自動提取這個檔案了?