其他分享
首页 > 其他分享> > reids(3)

reids(3)

作者:互联网

1.redis 过期策略:    1.定时过期   2.惰性过期   3.定期过期   2.redis内存淘汰策略: 全局的键空间选择性移除   noeviction:当内存不足以容纳新写入数据时,新写入操作会报错。   allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key。(这个是最常用的)   allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key。 设置过期时间的键空间选择性移除   volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的key。   volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个key。   volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除。   3.redis 数据存储格式:   RDB 阶段性持久化数据到 一个dump.rdb 文件   AOF 记录每一条redis命令 aof文件中   目前版本的redis,在项目中我们一般采用混合模式的方式进行设置。   涉及到主备 主从  一主多从,主主从情况进行数据同步时候: 全量复制: 主 生成RDB,同步给从 ,从写入自己的磁盘,再加载到内存,这个阶段生成的新的aof命令再同步过来 部分复制: 重连后, 根据offset 复制偏移量 进行复制 ,如果offset过旧,或者失效,进行全量复制。 exec、discard、watch、multi     4.redis 常见的几种问题: 缓存雪崩 :   存在大量key 同时失效 设置随机时间 缓存击穿:   缓存中无,数据库中有,大量并发情况下 设置热点数据 加互斥锁 缓存穿透:   数据库 缓存中都不存在该数据 布隆过滤器 -- 存在不一定存在,不存在一定不存在   5.redis集群选举原理 当slave从节点发现自己的master主节点边为FAIL状态,尝试进行Failover ,以期望成为新的master。 由于挂掉的master可能有多个slave, 从而存在多个salve竞争成为master节点的过程:   1.slave发现自己的master节点边为FAIL   2.将自己记录的集群的currentEpoch+1,并广播 FAILOVER_AUTH_REQUST 信息。   3.其他节点收到该信息,只有master相应,判断请求者合法性,并发送 FAILOVER_AUTH_ACK ,对每一个epoch只发送一次ack。   4.尝试failover的slave收集master返回的 failover_auth_ack.   5.slave收到 超过半数master的ack后,边成新的Master   解释:为什么至少三个主节点,如果两个,其中一个挂了,只剩下一个节点,不能选举成功   6.slave节点广播pong消息通知其他集群节点        

标签:过期,reids,redis,master,内存,移除,节点
来源: https://www.cnblogs.com/dhdnm/p/16603581.html