【问题标题】:How not to make a db call for checking user role in php?如何不进行 db 调用以检查 php 中的用户角色?
【发布时间】:2015-03-20 07:57:03
【问题描述】:

我知道检查用户角色的标准方法,主要是 PHP 中的 if(isUserAuthorizedForTheOperation(userId)),它是创建一个数据库,并为每个用户检查数据库并找出答案。现在这增加了巨大的性能问题。对于我的 .php 中的每一次点击文件,我发现查询数据库的成本非常高。有什么替代方法?

【问题讨论】:

  • 您能否准确记录性能问题是什么?在系统性能的某些方面存在实际问题的具体证据如此之少的情况下,我们无法猜测您的数量,甚至无法提供基本建议。
  • 您可以只获取用户拥有的角色列表并将其保存在会话中,然后您只有一个数据库查找。
  • @dave 感谢您的建议。您的方法肯定会让我免于拨打多个电话
  • @CamilStaps 感谢您的建议。它回答了我的问题

标签: php mysql user-roles


【解决方案1】:

您是每次点击/会话执行一个查询还是多次?确保只加载角色一次,将其存储在(会话)变量中,然后继续检查该变量 - 而不是每次要检查时都执行查询。

(取自 cmets,因为 OP 说它回答了他的问题。)

【讨论】:

    猜你喜欢
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-16
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多