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 无极分类(递归)实现代码
Jan 05 PHP
php url路由入门实例
Apr 23 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
Aug 18 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
Jan 07 PHP
PHP中list()函数用法实例简析
Jan 08 PHP
Zend Framework常用校验器详解
Dec 09 PHP
php实现的中文分词类完整实例
Feb 06 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
Jul 03 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
Jul 27 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
Mar 18 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
May 21 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
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
PHP中is_file()函数使用指南
2015/05/08 PHP
PHP模板解析类实例
2015/07/09 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
JavaScript与Image加载事件(onload)、加载状态(complete)
2011/02/14 Javascript
jQuery 源码分析笔记(5) jQuery.support
2011/06/19 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
javascript生成随机大小写字母的方法
2014/02/20 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
jQuery+ajax中getJSON() 用法实例
2014/12/22 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
聊一聊JS中的prototype
2016/09/29 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
ThinkJS中如何使用MongoDB的CURD操作
2016/12/13 Javascript
概述jQuery中的ajax方法
2016/12/16 Javascript
深入理解javascript中的 “this”
2017/01/17 Javascript
mui上拉加载更多下拉刷新数据的封装过程
2017/11/03 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
matplotlib设置legend图例代码示例
2017/12/19 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
python plotly绘制直方图实例详解
2019/07/22 Python
python计算无向图节点度的实例代码
2019/11/22 Python
css3背景图片透明叠加属性cross-fade简介及用法实例
2013/01/08 HTML / CSS
玩具反斗城葡萄牙官方商城:Toys"R"Us葡萄牙
2016/10/21 全球购物
英国经济型酒店品牌:Travelodge
2019/12/17 全球购物
英国门销售网站:Green Tree Doors
2020/01/07 全球购物
Belvilla法国:休闲度假房屋出租
2020/10/03 全球购物
2014年迎新年活动方案
2014/02/19 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
大学生敬老院活动总结
2015/05/07 职场文书
委托书范本格式
2019/04/18 职场文书
合作意向书怎么写
2019/06/24 职场文书