Redis 实现锁功能主要是借助SETNX方法。在 Redis 里,所谓 SETNX,是「SET if Not eXists」的缩写,也就是只有不存在的时候才设置,可以利用它来实现锁的效果,不过很多人没有意识到 SETNX 有陷阱!比如说:某个查询数据库的接口,因为调用量比较大,所以加了缓存,并设定缓存过期后刷新,问题是当并发量比较大的时候,如果没有锁机制,那么缓存过期的瞬间,大量并发请求会穿透缓...
- 最新博客
-
PHP
Redis简单实现单机锁及SETNX陷阱2020-11-18 17:37:24
-
PHP
docker部署Nginx1.19+PHP8.0docker部署Nginx1.19+PHP8.0,终于可以体验一下这个神奇版本了!2020-10-31 18:10:15
-
JS/jQuery/Css
只要一行代码,实现五种 CSS 经典布局常用的页面布局,其实就那么几个。只要掌握了它们,就能应对绝大多数常规页面。 这几个布局都是自适应的,自动适配桌面设备和移动设备。代码实现很简单,核心代码只有一行,有很大的学习价值,内容也很实用。2020-10-31 14:44:40
-
数据库
经典mysql面试题 - 学生成绩现有 student(sid.sname)学生表,course(cid,cname)课程表,sc(sid,cid,score)成绩表。CREATE TABLE `student` ( `sid` int(11) NOT NULL AUTO_INCREMENT, `sname` varchar(255) DEFAULT NULL, PRIMARY KEY (`sid`) ) ENGINE...2020-09-12 15:05:41
-
Linux
windows开发神器-WSL2因为在windows平台上开发的种种优(bi)势(duan).。开发完以后我们需要再以服务器的平台测试一下。以前我的选择是 虚拟机 或者 Docker。本地安装linux环境,但是效率很感人。。。最近发现微软6月份更新了wsl(以前也看过,但是限制很大)。网上查看资料发现,这次更新还是很巨大的。基本上可以windows上实现linux运行代码的要求了。下面开始记录安装过程。1.先打开微软文档htt...2020-08-31 11:59:53
-
默认分类
phpstudy2018的mysql版本升级至5.7/8.0使用laravel执行数据迁移命令的时候报错,查看文档,说是数据库版本太低了。解决方法是修改个程序文件或者升级数据库版本。想了想还是升级下数据库版本吧。升级数据库可以用最新版的phpstudy,他支持自定义数据库版本。但是用我着没有老版的顺手,就在老版的基础上升级下吧。这个见仁见智怎么操作取决个人。现在开始~第一步:下载mysql包,建议使用国内的mysql镜像下载,下载数据快点。镜像地址:htt...2020-07-17 15:23:58
-
默认分类
使用myslq锁解决并发问题案例说明银行两操作员同时操作同一账户。比如A、B操作员同时读取一余额为1000元的账户,A操作员为该账户增加100元,B操作员同时为该账户扣除50元,A先提交,B后提交。最后实际账户余额为1000-50=950元,但本该为1000+100-50=1050。这就是典型的并发问题。用mysql的悲观锁和乐观锁都可以解决这个问题。使用悲观锁来实现:悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的...2020-07-16 10:08:14
-
PHP
Laravel中间件总结Laravel有三种中间件:$middleware,$routeMiddleware,$middlewareGroups。$middleware 属性:这个属性称为全局中间件,为什么说是全局中间件呢?因为你的每一次请求,这里面的每个中间件都会执行。$routeMiddleware 属性:这个属性称为路由中间件,为什么说是路由中间件呢?因为定义在该属性内的中间件,只能在定义路由时候引用。假设这是我们...2020-07-07 15:42:39
-
默认分类
phpstudy windows下搭建本地解析httpsphpstudy本地解析https全纪录。2020-07-06 17:20:15
-
默认分类
MYSQL基础-索引类型与索引方法及使用原则索引类型mysql索引类型normal,unique,full text的区别是什么?normal:表示普通索引unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为uniquefull textl: 表示 全文搜索的索引。 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以。总结,...2020-07-03 16:01:42