2
在編寫自定義會話處理程序時遵循哪些最佳實踐?我已經瀏覽了大部分現有的PHP框架,其中大部分似乎在處理會話ID更新時遇到併發問題和多個Ajax請求。默認的PHP會話使用文件鎖來管理這個,但是如果我正在使用mysql來存儲會話,似乎並沒有正確的方法來做到這一點。什麼是解決這個問題的最好方法?任何幫助讚賞。PHP中的自定義會話處理程序
在編寫自定義會話處理程序時遵循哪些最佳實踐?我已經瀏覽了大部分現有的PHP框架,其中大部分似乎在處理會話ID更新時遇到併發問題和多個Ajax請求。默認的PHP會話使用文件鎖來管理這個,但是如果我正在使用mysql來存儲會話,似乎並沒有正確的方法來做到這一點。什麼是解決這個問題的最好方法?任何幫助讚賞。PHP中的自定義會話處理程序
如果您不鎖定會話文件/另一個存儲行,則可能會丟失數據。
簡單的場景(假設你已經下降完全鎖定):
初始狀態:有2 Ajax的請求一個頁面上同時運行,其中的每一個增加了另一個關鍵會議:
結果:鑰匙丟失
所以 - 如果你想保證會話中的數據是一致的 - 您需要有一些同步機制。例如,這可能是悲觀鎖,但仍然無法完全避免鎖定。
你問你是否可以模擬鎖定數據庫? –