一、设置多级目录存储SESSIONphp
默认session的存储目录是1级目录,若是用户量比较大,session文件数量就比较大,咱们能够设置目录数为2,使用2级目录能够提交查找和存取速度。不过这种方式对速度的提高通常不是很明显,能够经过修改php.ini,进而修改session存储目录数。html
1redis |
|
二、将SESSION存储到redis中session
php中的session默认是存储在文件中的,支持redis存储方式,由于redis的键值数据时存储在内存中的,能够提升session的存取速度。koa
1tcp 2函数 |
|
三、及时释放SESSION文件锁
咱们在使用session时,须要先执行session_start()
函数。
session_start()函数的做用以下:
判断http请求是否包含名为PHPSESSID的cookie,若是没有则建立该cookie并写入到http响应的头文件。
经过PHPSESSID查找对应的session文件,以读写方式打开的文件,而后读取里面的数据到内存。
而后咱们通常会经过$_SESSION这个超全局变量,读取或者设置session的值,咱们操做的时候,session的值都是保存在内存中的,默认在页面执行完毕以后,才会写入到对应的文件中。
咱们经过下面的一段代码测试这个过程:
SESSION执行过程分析:
1 2 3 4 5 6 7 |
|
输出结果:
1 2 3 4 5 6 7 8 |
|
经过上面的例子能够发现,在页面执行的过程当中(页面的执行过程是指将php文件解析为对应的html文件的耗时,而不是用户在该页面上的停留时间),session文件是被锁定的。