1、设置多级目录存储SESSION
默认session的存储目录是1级目录,如果用户量比较大,session文件数量就比较大,我们可以设置目录数为2,利用2级目录可以提交查找和存取速率。不过这种办法对速率的提升一样平常不是很明显,可以通过修正php.ini,进而修正session存储目录数。
session.save_path = \"大众2;/tmp\"大众
2、将SESSION存储到redis中
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 \"大众<br/>html content<br/>\公众;
var_dump($_SESSION);
echo \公众<br/>\"大众;
输出结果:
open
read
html content
array (size=1)
'name' => string 'koastal' (length=7)
shutdown
write
close
通过上面的例子可以创造,在页面实行的过程中(页面的实行过程是指将php文件解析为对应的html文件的耗时,而不是用户在该页面上的勾留韶光),session文件是被锁定的。
以上便是PHP提高SESSION相应速率的方法有哪些的详细内容,更多请关注其它干系文章!