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 相关文章推荐
在PHP3中实现SESSION的功能(三)
Oct 09 PHP
PHP 反射机制实现动态代理的代码
Oct 22 PHP
PHP 开源框架22个简单简介
Aug 24 PHP
PHP无敌近乎加密方式!
Jul 17 PHP
php中的一些数组排序方法分享
Jul 20 PHP
php接口与接口引用的深入解析
Aug 09 PHP
header导出Excel应用示例
Jan 24 PHP
详解PHP的Yii框架中扩展的安装与使用
Apr 01 PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
YII框架http缓存操作示例
Apr 29 PHP
php实现获取近几日、月时间示例
Jul 06 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 动态随机生成验证码类代码
2010/04/09 PHP
PHP网站安装程序制作的原理、步骤、注意事项和示例代码
2010/08/01 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
jquery checkbox,radio是否选中的判断代码
2010/03/20 Javascript
关于COOKIE个数与大小的问题
2011/01/17 Javascript
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
JQuery+Ajax无刷新分页的实例代码
2014/02/08 Javascript
jQuery $命名冲突解决方案汇总
2014/11/13 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
2015/07/27 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
vue 设置 input 为不可以编辑的实现方法
2019/09/19 Javascript
vue 父组件通过v-model接收子组件的值的代码
2019/10/27 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
Python 3.8 新功能全解
2019/07/25 Python
Python反爬虫伪装浏览器进行爬虫
2020/02/28 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
Linux机考试题
2015/10/16 面试题
法律六进活动方案
2014/03/13 职场文书
服务承诺口号
2014/05/22 职场文书
新生开学寄语大全
2015/05/28 职场文书
酒桌上的祝酒词
2015/08/12 职场文书
会议承办单位欢迎词
2015/09/30 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js