对$ _SESSION的每次访问是否都立即涉及文件系统的i/o?

Ita*_*vka 6 php session

每次我在$ _SESSION中访问数据时,它是否会立即更新磁盘上的会话文件,或者只是在进程停止时更新一次?或者每n个字节的数据发生变化(刷新)?

这个问题不一定是关于特定文件会话处理程序,而是每个处理程序.(会话中的每次触摸都会立即调用任何类型的I/O,除了在内存中存储正常变量).

OIS*_*OIS 3

正如马特所写,它默认在脚本执行结束时写入。您可以在session_write_close()中阅读相关内容

会话数据通常在脚本终止后存储,无需调用 session_write_close(),但由于会话数据被锁定以防止并发写入,因此任何时候只有一个脚本可以对会话进行操作。当将框架集与会话一起使用时,由于这种锁定,您将经历框架一一加载。您可以在会话变量的所有更改完成后立即结束会话,从而减少加载所有帧所需的时间。