• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP文件锁

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

PHP中的文件锁 

当多个客户端同时并发访问时,这个脚本的结果会出现不正确,这个问题需要使用锁机制来解决。

在我们这个网站中需要用到锁的地方就是高并发下定单时减少商品库存量时。这就要涉及到锁机制,在同一个段只允许一个人访问,防止数据数显错误!!

锁有两种:一种是mysql的表锁,另一个是php文件锁

这里只介绍文件锁:

PHP锁定的是一个文件,所以要先有一个文件。 
文件锁也分为排它锁(LOCK_EX)和共享(LOCK_SH)锁两种。

 

 

 

LOCK_EX:写锁,写入时为写锁状态,别人不能写也不能读。若直接读,将有一段时间得等待,别人写完了,解锁后才能恢复,才可以写。

           ----》通俗理解:  抄袭别人作业时,要等别人作业写完,才能拿来读,以及抄袭。

LOCK_SH:共享锁,别人只能读,不能写。如果直接写,将是一段时间得等待,别人读完了,解锁后才恢复,才可以写。

LOCK_UN:解除上面两种状态。

LOCK_NB:在读取或者写入时,如果文件被锁,则立刻返回通知访问的文件被锁了,不用再等待。不能单独使用,需与前面两者配合。

如:

flock($fp,LOCK_SH|LOCK_NB)

--》用于判断有些人再写,而有些人在读同个文件的情况,使用其立刻知道当前为写锁状态而不用等待。

flock($fp,LOCK_EX|LOCK_NB)

--》用于判断可能多人在写同个文件的情况,使用其立刻知道当前为共享状态而不用等待。

     


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
转PHP使用Redis发布时间:2022-07-10
下一篇:
PHP算法面试题目发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap