我对codeigniter 会话大小有疑问
会话是存储在客户端还是服务器端?
尺寸限制怎么样?我读了一些主题,一些开发人员说 4KB ,他们说只有会话ID存储在浏览器中。如果是这样,那么并发用户呢?我使用 set_userdata (以及一些flashdata)存储了一些数据,例如user_id
,username
,user_first_name
,user_last_name
,user_avatar_name
,而不是在每个页面中使用查询,并在整个网站中使用这些值。现在我的问题是许多并发用户想要登录,同时浏览网站(如在线考试或其他任何内容)。会话大小限制怎么样?是考虑一个用户还是所有用户?
你能详细解释一下吗?
感谢
答案 0 :(得分:1)
在CodeIgniter 3+会话中,cookie不用于数据存储,因此4KB大小不像早期版本那样存在问题。会话数据(用户和闪存)存储在服务器上,有多个存储驱动程序可供选择。
会话本质上是(一个)客户端和服务器之间的“契约”。服务器同意“记住”客户端并为其保存一些数据。每个独特的客户端都有自己的“合同”和自己的数据存储空间。可以实例化多少会话的问题取决于服务器的配置 - 内存量和可用磁盘空间量。
会话并发主要是关于(单个)用户在短时间内发出许多请求。它不是关于许多用户同时访问您的网站 - 这是一种不同的并发性。当获取大量的ajax请求以获取页面的数据时,会话并发可以暂时减慢用户的页面加载速度。 CodeIgniter不会或多或少地容易出现这个潜在的问题。需要进行适当的会话管理,一旦您不再需要会话变量中的任何内容,这主要归结为关闭会话。