我有一个具有相当大量输入的表单,也将是高流量.
我声明$_SESSION变量,以便在验证失败时,必须重新编写通过的数据,以便
用户不再重复.
在我验证我的表单输入后,像这样:
$hey = htmlspecialchars($_POST['hey']);
if( correct_value($hey) == TRUE ) {
$_SESSION['hey'] = $hey;
}
我现在有两个变量具有相同的值在我更新数据库等的相同方法中.
我的问题是,从这个方法开始,使用以下方法是否更快:
$hey; //regular variable
或者:
$_SESSION['hey']; //session variable
性能有差异吗?在高容量时,一个人的表现比另一个人快吗?
我没有对此做过任何基准测试,但我强烈怀疑$_SESSION []总是比写入的正常变量慢一点,因为它受
文件系统或
数据库的
支持.即使缓存了所有$_SESSION []存储,使用它时仍然会涉及比使用本地保存的变量更多的
cpu和内存活动.对于读取,仍然可能存在小的差异,但与其他因素相比,它可以忽略不计.
所以上面的评论是正确的钱.您还有其他优化领域比这个更重要.
如果您希望提高性能,请考虑在JavaScript中复制一些输入验证. (不要REPLACE服务器端验证,因为JS不是通用的;只要考虑如果可能的话避免要求它的方法.)