PHP 解决session死锁的方法


Posted in PHP onJune 20, 2013

今天在开发碰到个棘手的问题 。
当异步请求后台处理一个大数据量操作时  请求其他控制器都没返回信息了。。起初以为是Ext 框架设置了ajax同步造成的。
后来发现时session 死锁造成其他控制器在等待session 完成后才能操作。(主要是用户登录判断需要更新session)
当PHP 处理大数据量操作时 不能及时操作完成 这时候又有访问其他控制器或者
异步请求时候会造成session 死锁现象
和同事探讨了下 可使用 session_write_close() 解决此问题

Description
void session_write_close ( void )
End the current session and store session data.
Session data is usually stored after your script terminated without the need to call session_write_close(), but as session data is locked to prevent concurrent writes only one script may operate on a session at any time. When using framesets together with sessions you will experience the frames loading one by one due to this locking. You can reduce the time needed to load all the frames by ending the session as soon as all changes to session variables are done.

功能: 结束当前的session 操作 保存session 数据 
说的很明白了, 当脚本请求没有调用session_write_close(); 时虽然 session  的数据是存储住了。但是 session Date(也就是session 文件) 是锁住状态
是为了避免 其他应用此时操作session 造成不必要后果   当使用框架时 不同文件可能会不停地操作session 为了不造成其他操作对当前session 的死锁等待
可使用此函数...
PHP 相关文章推荐
用Socket发送电子邮件
Oct 09 PHP
自动分页的不完整解决方案
Jan 12 PHP
写php分页时出现的Fatal error的解决方法
Apr 18 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
Jun 24 PHP
二进制交叉权限微型php类分享
Feb 07 PHP
PHP调用VC编写的COM组件实例
Mar 29 PHP
PHP处理大量表单字段的便捷方法
Feb 07 PHP
php短址转换实现方法
Feb 25 PHP
PHP使用正则表达式获取微博中的话题和对象名
Jul 18 PHP
thinkPHP模板引擎用法示例
Dec 08 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 PHP
使用php实现网站验证码功能【推荐】
Feb 09 PHP
解析PHP可变函数的经典用法
Jun 20 #PHP
使用PHP求两个文件的相对路径
Jun 20 #PHP
基于PHP服务端图片生成缩略图的方法详解
Jun 20 #PHP
解析thinkphp中的导入文件标签
Jun 20 #PHP
解析thinkphp import 文件内容变量失效的问题
Jun 20 #PHP
解析用PHP实现var_export的详细介绍
Jun 20 #PHP
PHP 实现explort() 功能的详解
Jun 20 #PHP
You might like
php网页病毒清除类
2014/12/08 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
2014/04/30 Javascript
extjs 时间范围选择自动判断的实现代码
2014/06/24 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
JS库中的Particles.js在vue上的运用案例分析
2017/09/13 Javascript
浅析为什么a="abc" 不等于 a=new String("abc")
2017/10/25 Javascript
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
webpack4简单入门实例
2018/09/06 Javascript
基于javascript的无缝滚动动画1
2020/08/07 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
[02:41]2015国际邀请赛中国区预选赛观战指南
2015/05/20 DOTA
Python数据结构之翻转链表
2017/02/25 Python
python爬虫基本知识
2018/03/05 Python
python实现给scatter设置颜色渐变条colorbar的方法
2018/12/13 Python
python或C++读取指定文件夹下的所有图片
2019/08/31 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
美国嘻哈文化生活方式品牌:GLD
2018/04/15 全球购物
什么是.net的Remoting技术
2016/07/08 面试题
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
教师岗位职责
2013/11/17 职场文书
办护照工作证明
2014/10/01 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
行政司机岗位职责
2015/04/10 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python