images\cherry_red.png1 RedisS
      images\cherry_blue.png1.1 cache
      images\cherry_blue.png1.2 store
      images\cherry_blue.png1.3 雪崩,穿透,击穿,预热
      images\cherry_blue.png1.4 锁
         images\cherry_orange.png1.4.1 线程
   images\cherry_red.png2 数据类型
      images\cherry_blue.png2.1 集合类型
Redis

缓存没有拦住请求!
请求量的大小
数据库有没有问题
数据的一致性

【重复请求】
一个Key? 大量的并发请求
很多的Key,每个Key的请求量不多
请求量很大

根本问题,如何降低数据库请求量

采用分布式锁的概率,O(1) 去请求数据库,并且O(1)对于Redis缓存变更

1,面向Redis
1, 有,直接读取

2,没有,去抢到锁O(1),动DB,并且更新Redis
没有抢到锁,自旋,熔断
没抢到锁,自旋结束,回到第一步

Redis,主从复制,异步的复制,数据不一致!


images\6-1.png


最好不用开主从复制?
主从复制,异步性的!,可能会因为网络波动原因,导致数据的不一致性!


images\6-2.png


如何保证最终一致性!

缓存层出现问题了,加分布式锁

images\6-3.png


封装!crud
中间件团队

images\6-4.png