Codeigniter 从 Session 读取值或从 URL 参数读取值哪个更快? [关闭]

Posted

技术标签:

【中文标题】Codeigniter 从 Session 读取值或从 URL 参数读取值哪个更快? [关闭]【英文标题】:Which one is faster in codeigniter reading value from Session or Pursing value from URL parameter? [closed] 【发布时间】:2021-05-29 13:31:00 【问题描述】:

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

【问题讨论】:

你试过自己测试吗?与数据库访问等相比,它还会产生那么大的不同吗? 我想说,与其他因素相比,这种差异应该是完全无关的。相反,您应该对易于维护以及解决方案是否清洁和强大感兴趣。这就是为什么如果可以的话,我总是会采用基于会话的方法。您应该尽可能少地依赖客户网站的行为。 我自己没测试过,本来想用session的,结果发现用url参数的人比session多。这让人困惑 【参考方案1】:

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

按顺序在本地测试它可能会为两种方法产生相同的结果。要获得可靠的基准,您需要每秒处理数百或数千个请求同时对其进行测试。

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

【讨论】:

以上是关于Codeigniter 从 Session 读取值或从 URL 参数读取值哪个更快? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

php保存session之后从不同页面读取的值不同?

在生产服务器 codeigniter 3.1.2(PHP) Session Destroy 上自动从 facebook graph API 重定向?

vue 从session storage读取数据

codeigniter 4 设置会话变量 $session = \Config\Services::session();全球

Codeigniter:Session_id 为空

在 CodeIgniter 中恢复 session_id