redis+nginx

Redis

大量用户访问数据库会造成宕机,所以需要redis缓存,减轻对数据库的压力。

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,减轻对一台服务器的压力,从而减轻对服务器的压力。

轮询策略

权重策略

IPHASH策略

你可能感兴趣的:(redis,nginx)