Performance PHP存储会话

Performance PHP存储会话,performance,session,storage,php,Performance,Session,Storage,Php,哪种方式是在php中存储会话(用于登录或用户相关数据)的最有效方式 最好是数据库还是使用php中内置的$\u会话? 当涉及到更大的网站和总体速度时,哪一个最有效?这是一个非常糟糕的问题,因为它没有定义一个单一的答案,但我会继续努力满足您的需要 首先,将进行一个检查,以便在数据库中用户名是否不等于1 或者,当您可以检查数据库中的用户名并成功地为此创建函数时,请发送电子邮件并执行propper错误检查 您需要有一个用户登录名,如果凭据是真实的,则 session_start(); fun

哪种方式是在php中存储会话(用于登录或用户相关数据)的最有效方式

最好是数据库还是使用php中内置的$\u会话?
当涉及到更大的网站和总体速度时,哪一个最有效?

这是一个非常糟糕的问题,因为它没有定义一个单一的答案,但我会继续努力满足您的需要

首先,将进行一个检查,以便在数据库中用户名是否不等于1 或者,当您可以检查数据库中的用户名并成功地为此创建函数时,请发送电子邮件并执行propper错误检查

您需要有一个用户登录名,如果凭据是真实的,则

 session_start();

    function logged_in()
    {
    return (isset($_SESSION['user_id'])) ? true : false;
    }





if ($login === false)
        {
            $errors[] = 'Wrong username/password combination';
        } else 
        {
            $_SESSION['user_id'] = $login;
            header('Location: index.php');
            exit();
请尝试此系列,强烈推荐

你将在两天内完成这项工作,但在这个问题上有很好的基础。
我希望我能帮上忙,绝对没有理由相信内置的PHP机制很慢或很糟糕。它是写文件,这是完美的单服务器方案,约90%的网站使用,它是彻底测试和工作。内部工作使用编译后的C语言来实现此存储的最佳性能

无论您自己做什么,都必须在PHP中实现,这比较慢,或者您必须开始在C中创建PHP会话保存处理程序

因此,如果您真正开始使用多服务器设置,前面有一个loadbalancer,并且没有配置粘性,那么您才需要一个可以从所有Web服务器访问的会话存储。已有很多解决方案:

Memcached-安装Memcached扩展时,还存在以下问题

您还可以尝试Zend Server附带的Zend会话群集

您可以尝试编写自己的会话处理程序,但必须确保正确锁定!否则,并发请求将覆盖彼此的会话数据。这就是迄今为止我看到的大多数代码失败的地方,即使是像这样的成熟框架

只有在使用内部会话保存处理程序(并正确编码)时,PHP才会自行锁定,因此每个会话id只能运行一个脚本。所有其他脚本都会在调用
session\u start()
时停止

如果您认为现有的save处理程序都不能满足您的需求,那么您必须自己实现一些东西,但是您的问题听起来好像您还不习惯集群web服务器环境

关于“什么是最有效的”?有效还是高效?还是表演?还是最快?如果你不能说出要测量的数字,没有人会知道!以及如何测量

即使这是已知的,也无法事先知道。试想一下,有人说“使用数据库,这总是更快”,然后你在共享主机系统中遇到了一个糟糕的提供者,这个共享主机系统的数据库系统过载,根本无法提供任何性能,你会说“这个数据库决不可能比文件快”—你是对的。出于同样的原因,说不使用数据库比不使用数据库更快也是一个谎言


衡量绩效!换一件东西,看看它是否更快。如果是,就呆在那里,否则就回去。

确保你知道你想要实现什么。通常$\会话用于会话数据(例如用户id)和会话内数据(例如用户首选项)的数据库。这里:-这应该让您开始了。我没有遗漏哪个?哈哈,我知道只是想画画如果你要“画画”,你最好确保有一个合适的“画布/框架”来放进去。否则,这不是“良好实践”。我给你一个提示:
会话…
.DING!叮!叮!我们有:::获胜者::。伙计们@mpm;-)哈哈哈,很抱歉,我以为@squirreldev在设置或销毁会话之前会有关于启动会话的线索it@GunrJesra这可能对不了解会话的其他人有所帮助。;-)你不能想当然,就像老话说的“如果你想当然,那会让你和我变成一个傻瓜”(或者类似的,哈哈),干杯,伙计!