Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在codeigniter从会话读取值或从URL参数获取值方面,哪一个更快?_Php_Codeigniter_Session_Url Parameters - Fatal编程技术网

Php 在codeigniter从会话读取值或从URL参数获取值方面,哪一个更快?

Php 在codeigniter从会话读取值或从URL参数获取值方面,哪一个更快?,php,codeigniter,session,url-parameters,Php,Codeigniter,Session,Url Parameters,在我的web应用程序中,我必须根据用户位置显示内容。由于不可能在每个请求中解析当前位置,所以我可以在URL参数上设置它,或者将其存储在会话中以供进一步请求。但是我不知道哪一个会更快?从url参数中获取位置?或者在每个请求中从会话读取位置?从URL本身获取信息可能总是比会话快,因为它可以立即在内存中使用。它的速度将取决于会话的存储方法。例如,存储在外部数据库中的会话可能需要几毫秒才能加载 局部顺序测试可能会得到两种方法相同的结果。为了获得一个可靠的基准测试,您需要以每秒数百或数千个请求的速度同时测

在我的web应用程序中,我必须根据用户位置显示内容。由于不可能在每个请求中解析当前位置,所以我可以在URL参数上设置它,或者将其存储在会话中以供进一步请求。但是我不知道哪一个会更快?从url参数中获取位置?或者在每个请求中从会话读取位置?

从URL本身获取信息可能总是比会话快,因为它可以立即在内存中使用。它的速度将取决于会话的存储方法。例如,存储在外部数据库中的会话可能需要几毫秒才能加载

局部顺序测试可能会得到两种方法相同的结果。为了获得一个可靠的基准测试,您需要以每秒数百或数千个请求的速度同时测试它


无论哪种方式,您都不必担心这种优化,只需选择更易于维护的解决方案即可。URL还具有可扩展性和无状态性的额外好处。

您是否尝试过自己测试此功能?与数据库访问等相比,它也会有那么大的不同吗?我想说,与其他因素相比,这种差异应该是完全不相关的。相反,您应该对易于维护以及解决方案是否干净和健壮感兴趣。这就是为什么如果可以的话,我总是选择基于会话的方法。您应该尽可能少地依赖于客户端站点的行为。我没有亲自测试它,我正在考虑使用会话,但发现使用url参数的人比使用会话的人多。这让我感到困惑