2010-11-17 116 views
-1

我想告訴你關於服務器的另一個問題。當我們更新記錄時,它會更新數據庫中的記錄,但是當我們想要通過php文件的前端應用程序在瀏覽器上訪問記錄時,它不會立即顯示更新的記錄。它需要15-20分鐘或更長的時間,或者有時我們關閉瀏覽器並打開另一個瀏覽器,然後在那裏顯示更新的記錄。我已經刪除了瀏覽器緩存,但問題仍然存在。我已經在IE 6.0,7.0,chrome,safari,mozilla等不同的瀏覽器中進行了檢查,但無法找到解決方案。服務器的問題

請告訴我服務器有什麼問題? 請查看此網址: http://www.nicee.org/trial/view.php

+0

@Rahul梅塔 - 請檢查代理緩存,或應用隨機查詢字符串到URL來強制刷新頁面內容,也是谷歌的「http頭緩存「它是如何工作的 – ajreal 2010-11-17 10:15:48

+0

是否有可能你打開一個事務處理你永遠不會關閉的更新,這會導致你的選擇死鎖? – Paddy 2010-11-17 10:19:39

+0

@ajreal如何檢查代理緩存 – XMen 2010-11-17 10:25:00

回答

0

要稍微對我的評論擴大,我要指出的是,PHP是真的不是我熟悉,剛纔描述的問題聽起來很熟悉。

要僞代碼是:

-- On Update 

Open Transaction with Database 

Run SQL command(s) 

Close/commit transaction 

如果你不這樣做,最後一步(即commiting交易&關閉它),那麼它會繼續開放,並會鎖定這個表(取決於你如何數據庫設置)。您必須確保它總是完成(如果還有錯誤,則回滾)。

從快速谷歌,這可能是有用的:

http://www.devarticles.com/c/a/MySQL/Using-Transactions-with-MySQL-4.0-and-PHP/

+0

親愛的,我已經改變了我的表類型爲myisam,但它不是唯一的數據庫問題,因爲我看,因爲我改變任何PHP代碼也,那麼我也需要刷新查詢字符串,然後只顯示更改可能請建議究竟是什麼問題? – XMen 2010-11-18 10:52:16