分布式锁

53 阅读1分钟

JVM实现锁

导致锁失效的3种情况

1.多例模式(原理)(锁的对象不同)导致

2.加事务注解(由于采用aop方法开启事务) 锁最好放在事务之外

例子:如果锁放在事务里,在a线程更新完数据之后,但还未提交事务时,b线程拿到锁还是显示的是更新之前的数据。

可以降低事务的隔离级别,比如说从RR到RC,但是不能使用。

3.集群部署, 服务器里面单例模式,但是多个服务就是为多个

image-20230612214421146

image-20230612214531124

image-20230612221025093

setnx name rainhappy 设置独占锁

del //解锁

保证原子性操作

1.首先设置过期时间和加锁时是同时的

2.在解锁时可以使用lua脚本来解决判断和删除同时进行的问题。

3.lua脚本学习。

image-20230613191257551

image-20230613192715599

redisson的使用

image-20230613200010041

image-20230613202543061

阻塞队列的四组API

image-20230613171606118

nginx

动静分离, 反向代理,负载均衡

image-20230612211011720

本文由mdnice多平台发布