当前位置: 首页 > news >正文

[one_demo_1]php中的文件锁

<?php
/**
 * 使用php的文件锁解决高并发下操作数据库可能出现的争抢数据问题
 * 与mysql的锁表相比的优势,不影响此表被其他功能使用。
 * 应用场景:购物秒杀,各种票的抢票等。
 * create table a(id smallint);
 * insert into a values (100);
 */
error_reporting(0);
mysql_connect('localhost', 'root', '123456');
mysql_select_db('testphp');
//创建一个文件,打开它,加排它锁
$fp = fopen('./a.lock', r);
flock($fp, LOCK_EX);
$rs = mysql_query('select id from a');
$id = mysql_result($rs, 0, 0);
if($id > 0)
{
$id --;
mysql_query('update a set id ='.$id);
}
//解锁这个文件,关闭文件
flock($fp, LOCK_UN);
fclose($fp);
//使用apache的ab.exe文件做压力测试
//cmd中,在apche的bin目录下,ab.exe -c 20 -n 20 http://www.php2.com/suo/suodemo.php

 

相关文章:

  • 高并发压力测试
  • 购物网站集成支付宝
  • [one_demo_2]使用正则表达式过滤字符串
  • sphinx
  • 网站实现QQ登陆功能
  • dedecms
  • [one_demo_3]漩涡递增矩阵
  • CI
  • YII
  • php实现邮箱验证
  • php微信公众号开发
  • [one_demo_4]不使用第3个变量交换两个变量的值
  • [one_demo_5]命令行输入输出
  • [one_demo_6]逆置整数
  • [one_demo_7]求走到第50个台阶的走法多少种
  • Docker: 容器互访的三种方式
  • Golang-长连接-状态推送
  • java8 Stream Pipelines 浅析
  • java取消线程实例
  • JS+CSS实现数字滚动
  • PHP的类修饰符与访问修饰符
  • Python连接Oracle
  • socket.io+express实现聊天室的思考(三)
  • SpiderData 2019年2月16日 DApp数据排行榜
  • Spring-boot 启动时碰到的错误
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 基于axios的vue插件,让http请求更简单
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 排序算法学习笔记
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 如何正确理解,内页权重高于首页?
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​渐进式Web应用PWA的未来
  • ​什么是bug?bug的源头在哪里?
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (java)关于Thread的挂起和恢复
  • (第27天)Oracle 数据泵转换分区表
  • (规划)24届春招和25届暑假实习路线准备规划
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (论文阅读30/100)Convolutional Pose Machines
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (四)模仿学习-完成后台管理页面查询
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)shell中括号的特殊用法 linux if多条件判断
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET 常见的偏门问题
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .NET关于 跳过SSL中遇到的问题
  • .NET微信公众号开发-2.0创建自定义菜单
  • .Net中的集合