redis
1.redis几种数据结构,常用命令,事务
2.redis安装
3.redis和springboot集成
4.redis持久化 (rdb和aof)
内存策略,LRU策略
5.缓存穿透(缓存形同虚设)
条件:访问一个不存在的数据
隐患:导致数据库负载高然后宕机
防护:限定同一ip访问频率
6.缓存击穿(单个key失效)
条件:当缓存失效/过期/未命中 ,高并发访问key,
隐患:导致缓存失效,所有的请求访问后台数据库。数据库负载高然后宕机
防护: 1) 通过synchronized+双重检查机制:某个key只让一个线程查询,阻塞其它线程 2) 设置value永不过期 3) 使用互斥锁(mutex key)
7.缓存雪崩(全部的key都失效)
条件:高并发访问,缓存命中较低或者失效
解决方案:https://blog.csdn.net/qq_27409289/article/details/85885121
8.redis分片(动态内存扩容)
数据保存算法:hash一致性算法
注重:单调性、均衡性、分散性
如何集成springboot
9.redis哨兵(实现redis高可用)
主从服务器
主服务器宕机--选举策略
服务器----》哨兵---》redis
1.哨兵如何检测redis是否正常:心跳机制:连续三次检测不到
2.哨兵从从机中选举一台从机从当主机,同时将另外的从机(旧的主机)修改挂载状态,挂载到现在的主机
3.当旧的主机修复完成,充当从机使用。等待下次选举
实现:
sentinel monitor mymaster 127.0.0.1 6379 1
mymaster:哨兵的名字
127.0.0.1 6379:主节点
1:选举票数
修改选举的时间
修改选举失败的时间
启动哨兵:(26379)
redis-sentinel sentinel.conf
10.redis集群
三组六从搭建
10.1.选举机制概念
三组六从最少几个节点挂了导致集群挂?
最少5个节点,最多7个节点可能导致集群挂。
10.2.spring整合集群
10.3.springboot整合集群
网友评论