【问题标题】:Codeigniter session size and concurrent usersCodeigniter 会话大小和并发用户
【发布时间】:2015-12-02 00:33:03
【问题描述】:

我对 codeigniter 会话大小有疑问。
会话是存储在客户端还是服务器端? 大小限制呢?我阅读了一些主题,一些开发人员说 4KB,他们说只有会话 ID 存储在浏览器中。如果这是真的,那么并发用户呢?我使用 set_userdata(以及一些 flashdata)存储了一些数据,例如 user_idusernameuser_first_nameuser_last_nameuser_avatar_name,而不是在每个页面中使用查询,并且在整个站点中使用这些值。现在我的问题是关于许多并发用户想要同时登录并浏览网站(如在线考试或任何东西)。会话大小限制呢?是考虑单个用户还是所有用户?
你能详细解释一下吗?
谢谢

【问题讨论】:

  • 什么版本的codeigniter? V2 和 V3 处理会话的方式不同。
  • CodeIgniter 版本 3

标签: php codeigniter session


【解决方案1】:

在 CodeIgniter 3+ 中,会话 cookie 不用于数据存储,因此 4KB 大小不再是早期版本的问题。会话数据(用户和闪存)存储在服务器上,有多种存储驱动程序可供选择。

会话本质上是(一个)客户端和服务器之间的“合同”。服务器同意“记住”客户端并为他们保存一些数据。每个独特的客户都有自己的“合同”和自己的数据存储空间。可以实例化多少会话的问题取决于您的服务器配置 - 有多少内存和多少磁盘空间可用。

Session 并发主要是关于(单个)用户在短时间内发出许多请求。这与很多用户同时访问您的网站无关——这是一种不同的并发性。当发出大量 ajax 请求来获取页面数据时,会话并发可能会暂时减慢用户的页面加载速度。 CodeIgniter 不太容易出现这个潜在问题。需要进行适当的会话管理,这主要归结为在您不再需要会话变量中的任何内容时关闭会话。

【讨论】:

  • 非常感谢,亲爱的DFriend详细讨论。所以根据你的解释,我没有问题。我发现对于一个用户,我在会话中存储了大约 130 字节。
  • 我认为没有问题 - 直到您一次获得数千万次点击。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多