我正在处理一个权限系统。在每个页面中,需要检查用户是否有权这样做。我有两种选择,将数据存储在会话变量(仅在登录期间更新)或每次查询数据库中的信息。 哪个更快?我认识到如果权限发生变化,我将需要更新会话变量,因此用户需要重新登录以“查看”权限的更改,但这不是决定中的一个因素,只有速度是。php会话vs mysql速度
回答
速度取决于很多因素:
- 多少数据将被存储在会话变量
- 什么是会话变量的实际后备存储(如果是数据库支持的会话,它将基本上是同一时间)
我可以告诉,对于少量的数据,基于文件的会话变量将比数据库访问更快。
您需要测量它以获得应用程序中两种方法之间的相关比较。我个人怀疑它会做出如此不同以至于不会采用会议解决方案。在会议采取
我想这方面的信息存储在会话:
- 这些数据是特定于当前用户
- 每个用户都有自己的数据
- 这类型的数据是不太可能的版本经常改变 - 这意味着等到会话过期和用户回来经常是OK
- ,如果你认为它会经常变化,可以保留一些时间戳会议上,沿着该数据,以磕ep最后一次从数据库中提取的“何时”的轨道;并且如果它已被提取“太久以前”,则每隔几分钟重新进行一次。
我还想补充一点,如果有一天你开始有几个不同的网络服务器,你就可以使用memcached的存储会话数据 - 这意味着它扩展的方式优于数据库。
简答:将它存储在会话变量中可能会更快一些,因为您已经从数据库中填充它。话虽如此,我怀疑一个单一的简单数据库查询的速度会以任何真正可衡量的方式让你失望。会议对DB的
当用户可能以每秒5次的速度发出请求时,我认为它很重要。 (快速搜索) – vener 2010-02-23 07:55:24
设置新值:
时间:0.00062895秒
插入相同的值数据库看法:
时间:0。00000811秒
在 饼干插入相同的值
时间:0.00000906秒
或者,您可以使用此代码测试:
$before = microtime(true);
// Put your code here
$after = microtime(true);
$Speed = number_format(($after - $before), 8);
echo "<h1>Time: " . $Speed . " Seconds</h1>";
如果这包括了获取数据的时间和数据的数量,那么这将是完美的:) – StefansArya 2017-06-15 12:24:41
- 1. mysqli速度vs php速度?
- 2. PHP会话vs类
- 3. couchdb vs mysql速度
- 4. CodeIgniter会话vs PHP会话
- 5. PHP会话减速
- 6. PHP包括VS include_once(速度)
- 7. php mysql会话
- 8. php mysql shuffle输出速度
- 9. 全文VS ID搜索速度与MySQL
- 10. 速度:DOMDocument vs xml_parse_into_struct vs strrpos
- 11. 会话vs SSL会话
- 12. PHP VS JavaScript的速度处理信息
- 13. PHP:默认/ tmp会话VS session_set_save_handler()性能
- 14. ASP.NET MVC会话vs全局vs高速缓存
- 15. 应用程序vs会话vs高速缓存
- 16. 会话+ php + mysql +错误
- 17. php会话和mysql更新
- 18. PHP会话+ MySQL资源
- 19. php mysql +会话错误
- 20. PHP上传进度会话
- 21. numpy ufuncs速度vs循环速度
- 22. AVCaptureSession vs UIImagePickerController速度
- 23. PHP - 会话变量性能(会话VAR vs雷丁文件)
- 24. MySQL速度问题
- 25. PHP:远程MySQL连接速度很慢
- 26. 增加Mysql/PHP的查询速度
- 27. PHP GLOB与MySQL搜索速度?
- 28. PHP MySql - 数据加载速度很慢
- 29. php mysql db连接速度很慢
- 30. ViewState vs cookie vs兑现vs会话
是速度为单个会话情况的重要因素在这里,还是您需要大量活动会话的速度? – 2010-02-23 07:50:08