
并发
雨夜潜行
这个作者很懒,什么都没留下…
展开
-
高并发场景的几种处理方法
作为后端开发,高并发场景是一个绕不过去的坎,今天就来整理下常见的几种思路(暂时不考虑分布式的情况)一.并发锁 首先我们要知道高并发下会出现某一个时刻流量猛增,还有就是如果是抢购之类的库存类并发可能会导致超卖库存为负数之类的,对于并发锁来说主要是解决抢购超卖问题的,并不能很好的解决流量猛增给服务器带来的压力,有时候甚至会加重服务器的压力,所以我们并发量小及服务器配置比较高的时候可以用并发锁来处理,下面就介绍几种常用的并发锁 1.synchronize(同...原创 2021-08-25 15:44:57 · 6440 阅读 · 0 评论 -
redis分布式锁的正确方式
网上找分布式锁的时候发现有两种错误的方式很普遍的流传着,这里就介绍一种比较正确的redis实现分布式锁的方法吧,首先让我们来看看两种错误示范错误一:使用setnx + key过期来实现 介绍下redis的setnx(key,value)方法是SET IF NOT EXIST,意思是只有当key不存在的时候才能设置,这样我们的我们就能当一台机器一台机器通过setnx 获取到锁了,其他的机器就没办法获取了,然后通过给他key设置expire(过期时间)来防止死锁,但是这种情况...原创 2021-07-23 14:53:34 · 171 阅读 · 0 评论 -
redis 锁生成唯一code(java)
工作中经常需要生成按照顺序的唯一的code,这种数据往往跟日期大小等有关,但是又不能把它们设置为主键,这样就会导致新增的时候可能会并发重复,例如 我要生成一个code为 PO-20191012-1133 这样的一个按照顺序来的code(标识-日期-自增),这样就要我们在代码层生成code然后保存到数据库,java中并发不高的时候我们可以通过查询数据库中的code,获取当前最新code然后通过Atomic来创建新的code,这种一定程度上可以减少错误的发生,但是很显然,查询数据库的过程是...原创 2021-07-08 10:35:34 · 516 阅读 · 0 评论