- 2024-03-23Golang: Redislock源码分析
Golang:Redislock源码分析源码https://github.com/bsm/redislock实现Lua脚本obtain.lua--obtain.lua:arguments=>[value,tokenLen,ttl]--Obtain.luatrytosetprovidedkeys'swithvalueandttliftheydonotexists.--Keyscanbeoverrideniftheyal
- 2024-01-18RedisLock的AOP实现
AOP的使用:1.标注@Aspect,说明此类是切面类。可以先用@Pointcut定义一个表达式。然后在@Around中引用这个@Pointcut的方法。更常见的是直接在Around里面定义。@Around("@annotation(注解的位置)")@anootation:注解带有xxx的。@args:参数带有xxx的。@within/@target:标识生效的具体类
- 2024-01-15CompletableFuture多线程与redis分布式锁
@AutowiredpublicRedisTemplateredisTemplate;booleanlock=redisTemplate.opsForValue().setIfAbsent("lock","redisLock");//获取锁 booleanredisLock=redis.getRedisLock(); if(redisLock){ //创建线