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 相关文章推荐
浅析php创建者模式
Nov 25 PHP
PHP实现QQ空间自动回复说说的方法
Dec 02 PHP
PHP数据库操作Helper类完整实例
May 11 PHP
php使用parse_str实现查询字符串解析到变量中的方法
Feb 17 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
Nov 03 PHP
Laravel 实现密码重置功能
Feb 23 PHP
PHP convert_uudecode()函数讲解
Feb 14 PHP
php数组和链表的区别总结
Sep 20 PHP
laravel5.5添加echarts实现画图功能的方法
Oct 09 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
Jun 03 PHP
php redis setnx分布式锁简单原理解析
Oct 23 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 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中strtotime函数用法详解
2014/11/15 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
含有CKEditor的表单如何提交
2014/01/09 Javascript
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
JavaScript弹窗基础篇
2016/04/27 Javascript
JS 拼凑字符串的简单实例
2016/09/02 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
vue数据双向绑定原理解析(get & set)
2017/03/08 Javascript
快速处理vue渲染前的显示问题
2018/03/05 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
Python使用Beautiful Soup包编写爬虫时的一些关键点
2016/01/20 Python
实例解析Python中的__new__特殊方法
2016/06/02 Python
linecache模块加载和缓存文件内容详解
2018/01/11 Python
利用python实现微信头像加红色数字功能
2018/03/26 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
python实现图片上添加图片
2019/11/26 Python
PyTorch实现ResNet50、ResNet101和ResNet152示例
2020/01/14 Python
Python函数式编程实例详解
2020/01/17 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
2020/04/24 Python
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
电子技术专业中专生的自我评价
2013/12/17 职场文书
上学迟到的检讨书
2014/01/11 职场文书
现场施工员岗位职责
2014/03/10 职场文书
函授毕业生自我鉴定范文
2014/03/25 职场文书
大学生个人求职信例文
2014/07/07 职场文书
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers
详解Laravel服务容器的优势
2021/05/29 PHP
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技
关于对TypeScript泛型参数的默认值理解
2022/07/15 Javascript