大量用户拜访数据库会造成宕机,所以须要 redis 缓存,加重对数据库的压力。
1、RDB 是 redis 默认的策略
2、能在肯定的工夫距离主动存储数据:可能导致数据的失落
1、AOF 须要手动开启
2、能够设置存储的工夫,容易导致内存占用过大,须要定期维护
LRU 算法:依据工夫
LFU 算法:依据次数
随机算法
TTL 算法:依据残余的存活工夫,超时删除
缓存穿透(数据缓存中没有数据库中也没有的数据):因为缓存中没有该数据,数据库中也没有该数据,大量用户拜访数据库导致数据库宕机。缓存击穿(数据缓存中没有数据库中有的数据):因为缓存中没有该数据,大量用户间接拜访数据库,导致数据库压力过大。缓存雪崩:大量的数据大批量过期,大量的用户间接拜访数据库,从而导致数据库压力过大。
存穿透:设置 IP 限流,微服务熔断器
缓存击穿:设置多级缓存
缓存雪崩:设置多级缓存
扩容
当一台服务器宕机,通过心跳机制从新选举一台当作主机
实现高可用
用户拜访服务器,用户拜访服务器 A,依据服务器 A 拜访服务器 B,服务器不晓得实在的拜访地址。
用户拜访服务器,用户拜访服务器 A,依据 nginx 转载到服务器 B,用户不晓得实在的拜访地址。
用户拜访服务器 A,依据 nginx 反向代理转载到服务器 B,加重对一台服务器的压力,从而加重对服务器的压力。