Redis键值对存储数据库
1。什么是Redis
Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库
2。缓存雪崩 | 缓存穿透 | 保证缓存与数据库双写时一致的问题
(1)缓存雪崩:
- Redis挂掉了,请求全部走数据库。
- 对缓存数据设置相同的过期时间,导致某段时间内缓存失效,请求全部走数据库。
注:缓存雪崩如果发生了,很可能就把我们的数据库搞垮,导致整个服务瘫痪
(2)缓存穿透
缓存穿透是指查询一个一定不存在的数据。由于缓存不命中,并且出于容错考虑,如果从数据库查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,失去了缓存的意义。
注:缓存穿透如果发生了,也可能把我们的数据库搞垮,导致整个服务瘫痪!
(3)如何保证缓存与数据库双写时一致的问题
不一致指的是:数据库的数据跟缓存的数据不一致
3。如果20万用户同时访问一个热点缓存,如何优化你的缓存架构
热key:就是你的缓存集群中的某个key瞬间被数万甚至十万的并发请求打爆
大value:就是你的某个key对应的value可能有GB级的大小,导致查询value的时候导致网络相关的故障问题。
体胖还需勤跑步,人丑就该多读书!