在PHP会话中保存数组


Saving array in PHP Sessions

在PHP会话中保存一个大数组会对服务器造成困难吗?所谓"大型"数组,我指的是一个可能有500个元素的数组,每个元素最多有100个字段。

我可以让成千上万的用户在一分钟内多次执行这个过程。

首先,简单介绍一下PHP中的会话处理:

当你打开一个会话时,会创建一个包含会话ID的cookie,并发送给客户端。然后PHP将使用session.save_path中定义的路径来保存文件,使用id作为文件名(引用)。

这对你来说意味着什么?这意味着您将创建一个额外的瓶颈(磁盘I/O是大多数设置中最慢的事情之一),因为您将一直写入/读取文件。

数据库服务器有大量的代码来处理这种延迟,所以在数据库中使用一个表可能是非常有益的,这个表将你的序列化数组作为一个字符串,由$_SESSION中的id作为键。