下载RedisDesktopManager,看redis的数据
坑:
具体实现,加锁和删除锁必须是原子性的,所以得一条命令执行;锁的key必须是唯一得
具体代码实现,lua脚本是官方文档给的
使用官方文档推荐的Redisson来写分布式锁,锁不会有死锁问题,锁可以自动续期,看门狗
官网中文文档:8. 分布式锁和同步器 · redisson/redisson Wiki · GitHub
8. 分布式锁和同步器 · redisson/redisson Wiki · GitHub
1)
2)使用程序化的配置,先使用单节点模式
看门狗机制可以解决死锁问题,但一般项目开发,会指定锁的过期时间
读写锁:
闭锁:
信号量:可以用作限流
缓存一致性的解决:
不要过度设计,加重量的锁。
最终根据电商形式,采取的方案
使用SpringCache处理缓存
自定义缓存配置
最终使用,使用分区删除缓存,配置不要自定义前缀,这样自定义的分区的名字就是前缀
springcache的不足:
两张图为一张