Redis
大量用户访问数据库会造成宕机,所以需要redis缓存,减轻对数据库的压力。
五种类型
strings、hashes、lists、sets、sorted sets
redis持久化策略
RDB模式
1、RDB是redis默认的策略
2、能在一定的时间间隔自动存储数据:可能导致数据的丢失
AOF模式
1、AOF需要手动开启
2、可以设置存储的时间,容易导致内存占用过大,需要定期维护
内存优化
LRU算法:根据时间
LFU算法:根据次数
随机算法
TTL算法:根据剩余的存活时间,超时删除
缓存失效
缓存穿透(数据缓存中没有数据库中也没有的数据):由于缓存中没有该数据,数据库中也没有该数据,大量用户访问数据库导致数据库宕机。
缓存击穿(数据缓存中没有数据库中有的数据):由于缓存中没有该数据,大量用户直接访问数据库,导致数据库压力过大。
缓存雪崩:大量的数据大批量过期,大量的用户直接访问数据库,从而导致数据库压力过大。
存穿透:设置IP限流,微服务熔断器
缓存击穿:设置多级缓存
缓存雪崩:设置多级缓存
redis分片
扩容
redis哨兵
当一台服务器宕机,通过心跳机制重新选举一台当作主机
redis集群
实现高可用
Nginx
正向代理
用户访问服务器,用户访问服务器A,根据服务器A访问服务器B,服务器不知道真实的访问地址。
反向代理
用户访问服务器,用户访问服务器A,根据nginx转载到服务器B,用户不知道真实的访问地址。
负载均衡
用户访问服务器A,根据nginx反向代理转载到服务器B,减轻对一台服务器的压力,从而减轻对服务器的压力。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。