什么时候应该在 php 中使用会话变量?
When should you use a session variable in php?
我最近构建了一个安全系统来控制用户可以查看和访问哪些页面,我构建它是为了让系统中每个页面的所有值都存储在登录时的会话变量中,以避免每次都必须访问数据库相同信息的页面加载。
在这种情况下,我觉得使用会话变量是正确的。但如果它是仅在单个页面上使用的值,我会改为从数据库访问。
在这两个极端之间,在什么时候将值放入会话变量中是正确的?还是这些更多地基于您存储的内容(例如用户名),而不是您使用它的次数?
会话变量存储在您的服务器上,就像数据库值存储在您的服务器上一样。
不同之处在于,您可以一次加载整个 "row"(即会话),而不是像使用数据库那样查询单个信息。
没有理由不能通过简单地将所有值存储在数据库中的一行中并对其进行查询来获得相同的性能结果。 (注意:使用会话变量或数据库字段执行此操作不是一个好主意)最终,两个数据源都来自服务器的存储。
话虽这么说...
会话变量传统上存储与客户端状态相关的临时值,例如,客户端是否登录、上次登录时间等。
数据库变量应该存储您希望在特定客户端会话之后保留的内容。
我最近构建了一个安全系统来控制用户可以查看和访问哪些页面,我构建它是为了让系统中每个页面的所有值都存储在登录时的会话变量中,以避免每次都必须访问数据库相同信息的页面加载。
在这种情况下,我觉得使用会话变量是正确的。但如果它是仅在单个页面上使用的值,我会改为从数据库访问。
在这两个极端之间,在什么时候将值放入会话变量中是正确的?还是这些更多地基于您存储的内容(例如用户名),而不是您使用它的次数?
会话变量存储在您的服务器上,就像数据库值存储在您的服务器上一样。
不同之处在于,您可以一次加载整个 "row"(即会话),而不是像使用数据库那样查询单个信息。
没有理由不能通过简单地将所有值存储在数据库中的一行中并对其进行查询来获得相同的性能结果。 (注意:使用会话变量或数据库字段执行此操作不是一个好主意)最终,两个数据源都来自服务器的存储。
话虽这么说...
会话变量传统上存储与客户端状态相关的临时值,例如,客户端是否登录、上次登录时间等。
数据库变量应该存储您希望在特定客户端会话之后保留的内容。