Laravel Session与Native PHP Session性能差异


Laravel Session Vs Native PHP Session Performance Difference

我正在构建一个laravel站点,我刚刚发现laravel会话不与本地php会话共享。

目前我没有看到任何性能差异,但这个网站完成后会有很大的流量。在可能的情况下,最好是坚持使用尽可能多的本地PHP东西,还是使用laravel实现会话比PHP更有效?

如果你使用的是Laravel 4.0,它默认使用本地PHP会话作为其会话驱动程序,所以差异可以忽略不计。

从Laravel 4.1开始,新的默认会话驱动程序被称为file,它将会话数据存储在磁盘上的文件中,根据他们的4.1发行说明,他们的会话现在"更精简,更快":

改进的会话引擎

在这个版本中,我们还引入了一个全新的会话引擎。与路由改进类似,新的会话层更精简、更快。我们不再使用Symfony的(以及PHP的)会话处理工具,而是使用更简单、更容易维护的自定义解决方案。

或者,你可以使用Redis或memcached来处理会话——Laravel有现成的驱动程序(注意:对于任何新的东西,你应该使用Redis而不是memcached)。如果您有大量的会话数据(复杂的对象/数据,而不是存储一些字符串或整数)和/或大量并发用户(10,000+),您可以考虑此选项。

这些驱动程序将会话数据主要存储在内存中而不是磁盘上,因此速度更快,效率更高,尽管性能增益通常可以忽略不计,除非您首先遇到与会话相关的性能瓶颈。如果您确实有如此大的会话数据,这会导致性能问题,那么在重新配置会话引擎之前,可能需要考虑解决这个问题。