作者:MK小绿_136 | 来源:互联网 | 2020-08-21 06:37
php中的session默认是存储在文件中的,支持redis存储方式,因为redis的键值数据时存储在内存中的,可以提高session的存取速度。
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
3、及时释放SESSION文件锁
我们在使用session时,需要先执行session_start()
函数。
session_start()函数的作用如下:
判断http请求是否包含名为PHPSESSID的COOKIE,如果没有则创建该COOKIE并写入到http响应的头文件。
通过PHPSESSID查找对应的session文件,以读写方式打开的文件,然后读取里面的数据到内存。
然后我们一般会通过$_SESSION这个超全局变量,读取或者设置session的值,我们操作的时候,session的值都是保存在内存中的,默认在页面执行完毕之后,才会写入到对应的文件中。
我们通过下面的一段代码测试这个过程:
SESSION执行过程分析:
include "session_function.php";
//session_function.php代码在附录
session_start();
$_SESSION['name']="koastal";
echo "
html content
";
var_dump($_SESSION);
echo "
";
输出结果:
open
read
html content
array (size=1)
'name' => string 'koastal' (length=7)
shutdown
write
close
通过上面的例子可以发现,在页面执行的过程中(页面的执行过程是指将php文件解析为对应的html文件的耗时,而不是用户在该页面上的停留时间),session文件是被锁定的。
推荐教程:PHP视频教程
第一PHP社区 学习专题:php session (包含图文、视频、案例)
以上就是PHP提高SESSION响应速度的方法有哪些的详细内容,更多请关注 第一PHP社区 其它相关文章!