今遇到如下問題。1.目前正在開發(fā)一個競賽項目,需要用到“倒計時”功能,就是顯示本次比賽還有多久結束。競賽開始時間和競賽時長以及結束時間等值是保存到數據庫表中的。以前的處理方式如下: (1).定時(如10秒)去讀取數據庫表中的值,然后在頁面顯示。讀取后保存這個值(開始時間、結束時間、時長等值)是用 “靜態(tài)變量”或“Session”保存的,而在這10秒間(這10秒內,未實時讀取數據庫表中值,就采用的js來“模擬”顯示)。目前遇到的問題是,用“靜態(tài)變量”或“Session”保存時,針對某場比賽,倒計時顯示完全沒問題。但是如果用同一瀏覽器打開多個不同的場次比賽(不同場次比賽的時間不同),剛開始可以分別顯示,但是當10秒后同步時或者刷新一個網頁,這打開的所有不同場次比賽的時間都“相同”了,我想這是由于 保存時采用 的是“靜態(tài)變量”或“Session” 造成的。我想請問的是如果不用這兩種保存方式,那么采用什么來保存呢?2.另外,我想請問如果采用 Ajax局部刷新效率如何?每秒都去刷新一次(每秒都刷新,那么倒計時就能正常顯示了),但這樣1000個客戶端都在線的話,這樣服務器怕承受不了吧?
2 回答

哈士奇WWW
TA貢獻1799條經驗 獲得超6個贊
提供一個思路,時間統(tǒng)一以服務器時間為準,從服務器端取到現(xiàn)在的時間和比賽開始結束的時間后就可以計算出還有多長時間結束,用JS在頁面上進行倒記時顯示,然后10秒左右去服務器獲取一下時間,進行同步校正。這樣就不必要用session了

智慧大石
TA貢獻1946條經驗 獲得超3個贊
但是如果用同一瀏覽器打開多個不同的場次比賽(不同場次比賽的時間不同),剛開始可以分別顯示,但是當10秒后同步時或者刷新一個網頁,這打開的所有不同場次比賽的時間都“相同”了.
這很明顯你key搞錯了,為什么只保存一場比賽?每場比賽一個值不就行了??或者用列表(數組,字典)保存多場比賽的值..
- 2 回答
- 0 關注
- 739 瀏覽
添加回答
舉報
0/150
提交
取消