PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了大型PHP会话减慢了Web应用程序的速度大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Web应用程序,其中复杂的权限确定用户是否可以访问数千个不同文件中的每一个.用户可以查看所有文件,但有一个指示器可以打开他们有权访问的文件.如果用户中的其他人有权访问该文件,或者他们与之合作的某人拥有该文件的共享访问权限,则该用户可以访问该文件.

现在,我有一个复杂的@L_262_16@函数,通过构建用户可以访问的文件数组(在组织或协作中)以及合并这些访问数组来生成大型PHP会话.当这些文件显示用户时,PHP会检查此数组以查看它们是否具有访问权限,如果有,则会添加按钮以打开该文件.我这样做是因为运行查询以检查每个单独文件的访问权限,在显示文件列表时最终会占用太长时间,并且PHP的in_array()速度要快得多.

问题是…

PHP会话已经变得如此之大以至于它似乎正在减慢简单网站功能的速度,我需要虑一种新方法来实现这一目标.

我的问题是……

替换PHP会话以存储用户有权访问的数千个文件文件权限和文件位置的最佳方法是什么,以便显示文件列表时,PHP可以快速检索此信息,而无需运行查询对于每个单独的文件

嗯,在不知道问题的全部范围的情况下,我建议在数据库添加一个Sessions表,并包含一个FilePermissions字段和一个UserId字段.

此字段将存储权限结构的json表示形式.这只需要对数据库进行一次调用,并且大部分处理将在解析json数据服务器端时进行(根本不应该有很多开销).

这是减少客户端会话信息大小的标准方法.一个好的经验法则是在Sessions表中放置任何公开应用程序逻辑的东西.

更新

我只会在json字段中存储他们有权访问的文件.可以假设不存在禁止他们访问文件.这将再次降低性能足迹.

只有在没有复杂的权限结构时(例如每个文件都具有读写权限),这才有效.如果没有,我会说你很清楚.

大佬总结

以上是大佬教程为你收集整理的大型PHP会话减慢了Web应用程序的速度全部内容,希望文章能够帮你解决大型PHP会话减慢了Web应用程序的速度所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。