加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

php基于session锁防备阻塞哀求的要领说明

发布时间:2021-02-25 04:45:33 所属栏目:编程 来源:网络整理
导读:本篇章节讲授php基于session锁防备阻塞哀求的要领。供各人参考研究详细如下: 声名: 这是一篇参考海外网站http://konrness.com/php5/how-to-prevent-blocking-php-requests/的译文,前面一篇文章简朴说明白php session阻塞的办理要领,这里给出另

本篇章节讲授php基于session锁防备阻塞哀求的要领。分享给各人供各人参考,详细如下:

声名:

这是一篇参考海外网站http://konrness.com/php5/how-to-prevent-blocking-php-requests/的译文,前面一篇文章简朴说明白php session阻塞的办理要领,这里给出另一种办理要领。

正文:

当代赏识器限定到一个host并发毗连的数目一样平常为4或6。这意味着,假如您的web页面加载几十个来自统一个host的assert file(js、图像、css)时,因为并发数的限定,会发生列队。同样乃至更糟的是,这个题目也会产生在行使了session的php剧本中。

题目:

php的session缺省用文件存储,当哀求一个必要操纵session的php文件(session_start())时,这个文件是会被第一个操纵session的历程锁定,导致其他哀求阻塞。其他哀求会挂起在session_start()直到session文件解锁。

办理:

因为锁定的session文件直到剧本执行竣事可能session正常封锁才会解锁,为了防备大量的php哀求(必要行使$_SESSION数据)被锁定,可以在写完session后顿时封锁,这样就开释了锁。

封锁session:

这个能力很是管用,尤其对付一个处理赏罚时刻长的剧本。而且这个函数只是封锁了写session,读照旧可以的。

译注:

在php5.4往后,session_set_save_handler 支持了转达session_write_close() 作为回调要领的(缺省就是true),将函数 session_write_close() 注册为 register_shutdown_function() 函数。

用Memcache可能Redis做session的存储,是能办理“锁定”的题目,但处理赏罚欠好会导致毗连数标高(在session操纵后假若有耗时操纵,毗连是不接纳的,可以主动在session写操纵完成后做session_write_close() 操纵)

更多关于PHP相干内容感乐趣的读者可查察本站专题:《》、《》、《》、《》、《》及《》

但愿本文所述对各人PHP措施计划有所辅佐。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读