php对象里面存对象,PHP:在$ _SESSION中存储'对象'
出于某種原因,HTTP是無狀態協議。會話將狀態焊接到HTTP上。根據經驗,避免使用會話狀態。
更新:HTTP級別沒有會話的概念;?服務器通過為客戶端提供唯一ID并告知客戶端在每個請求上重新提交它來提供此功能。然后,服務器將該ID用作Session對象的大哈希表中的鍵。每當服務器獲得請求時,它都會根據客戶端隨請求提交的ID,從會話對象的哈希表中查找會話信息。所有這些額外的工作都是可擴展性的雙重打擊(HTTP是無狀態的一個重要原因)。Whammy One:它減少了單個服務器的工作量。
Whammy Two:它更難以擴展,因為現在你不能將請求路由到任何舊服務器 - 它們并不都具有相同的會話。您可以將具有給定會話ID的所有請求固定到同一服務器。這并不容易,而且它只是一個單點故障(不是整個系統,而是整個系統的大塊)?;蛘?#xff0c;您可以在群集中的所有服務器之間共享會話存儲,但現在您有更多復雜性:網絡連接內存,獨立會話服務器等。
鑒于這一切,您在會話中輸入的信息越多,對性能的影響就越大(如Vinko指出的那樣)。同樣正如Vinko指出的那樣,如果你的對象不是可序列化的,那么會話就會行為不端。因此,根據經驗,避免在會話中放置超過絕對必要的內容。
@Vinko您通常可以通過在您發回的響應中嵌入您正在跟蹤的數據并讓客戶端重新提交它來解決服務器存儲狀態,例如,在隱藏的輸入中向下發送數據。如果您確實需要服務器端狀態跟蹤,則它應該位于您的后備數據存儲區中。
(Vinko補充說:PHP可以使用數據庫存儲會話信息,并讓客戶端每次重新提交數據可能會解決潛在的可擴展性問題,但是打開了一大堆安全問題,你必須注意現在客戶端控制所有您的國家)
總結
以上是生活随笔為你收集整理的php对象里面存对象,PHP:在$ _SESSION中存储'对象'的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 招行信用卡额度一般是多少
- 下一篇: 动态规划算法php,php算法学习之动态