看下面的流程图,是Redisson框架的执行流程。👇👇
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/949d72a178757a7dffdd7dab36773127.png)
1.加锁机制
大家看到上面的图是客户端1要加锁操作,该客户端面对的是一个redis cluster集群,他首先会根据hash节点分配到某一台机器。记住!!是某一台!!一台!!!
接下来会发送一个lua脚本到redis 代码如下(示例):
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ab67f6a20c9e1d6c21fbd86ffdee85b1.png)
"if(redis.call('exists', KEYS[1])==0)then"+
"(redis.call('hset', KEYS[1],ARGV[2],1));"+
"redis.call('pexpire', KEYS[1], ARGV[1]);"+