php中怎么存储对象,PHP:在$ _SESSION中存储'对象'

88bfb607308e0ddb014a69c153350d4c.png

三国纷争

出于某种原因,HTTP是无状态协议。会话将状态焊接到HTTP上。根据经验,避免使用会话状态。更新:HTTP级别没有会话的概念; 服务器通过为客户端提供唯一ID并告知客户端在每个请求上重新提交它来提供此功能。然后,服务器将该ID用作Session对象的大哈希表中的键。每当服务器获得请求时,它都会根据客户端随请求提交的ID,从会话对象的哈希表中查找会话信息。所有这些额外的工作都是可扩展性的双重打击(HTTP是无状态的一个重要原因)。Whammy One:它减少了单个服务器的工作量。Whammy Two:它更难以扩展,因为现在你不能将请求路由到任何旧服务器 - 它们并不都具有相同的会话。您可以将具有给定会话ID的所有请求固定到同一服务器。这并不容易,而且它只是一个单点故障(不是整个系统,而是整个系统的大块)。或者,您可以在群集中的所有服务器之间共享会话存储,但现在您有更多复杂性:网络连接内存,独立会话服务器等。鉴于这一切,您在会话中输入的信息越多,对性能的影响就越大(如Vinko指出的那样)。同样正如Vinko指出的那样,如果你的对象不是可序列化的,那么会话就会行为不端。因此,根据经验,避免在会话中放置超过绝对必要的内容。@Vinko您通常可以通过在您发回的响应中嵌入您正在跟踪的数据并让客户端重新提交它来解决服务器存储状态,例如,在隐藏的输入中向下发送数据。如果您确实需要服务器端状态跟踪,则它应该位于您的后备数据存储区中。(Vinko补充说:PHP可以使用数据库存储会话信息,并让客户端每次重新提交数据可能会解决潜在的可扩展性问题,但是打开了一大堆安全问题,你必须注意现在客户端控制所有您的国家)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值