GoLang后端
文章平均质量分 88
trajectories
www.trajectories.cn
展开
-
[代码学习]Redis分布式锁Go语言实现
[代码学习]Redis分布式锁Go语言实现加锁部分释放锁部分之前使用Java写Redis一些操作的时候,有比较成熟的框架可以直接调用,比如Redisson等,把一些加Redis分布式锁等一些比较高级的操作都做了封装,使得Java语言使用Redis都非常的方便。但是好像Go语言中使用Redis还是比较原始的,自己搭轮子的状态。今天阅读项目源码的时候,看到了一段Redis分布式锁Go语言的实现。感觉有一定的学习价值,所以摘抄至此。这里实现Redis分布式锁的思想是比较常见的,主要为:加锁部分1)首先是原创 2021-09-15 09:53:30 · 537 阅读 · 1 评论 -
简易秒杀系统-Go语言实现
简易秒杀系统-Go语言实现一、最原始网页1. 开发环境2. 部署环境3. 创建数据库/创建项目工程4. 搭建初始商品购买网页二、商品信息静态数据优化三、(单机)秒杀系统0. 遇到的问题1. case1:不加锁,出现超卖现象2. case2:使用sync包中的Mutex类型的互斥锁,秒杀正常3. case3:Gin框架的钩子函数/中间件加锁,不能4. case4:数据库悲观锁(查询加锁),不能5. case5:数据库悲观锁(更新加锁),正常6. case6:数据库乐观锁,正常7. case7:GoLang中的原创 2021-04-23 18:57:13 · 2037 阅读 · 1 评论