Redis 原理及应用(3)--内存淘汰机制、主从同步原理,HA策略(哨兵机制)分析

本文深入探讨Redis的内存淘汰策略,包括LRU、随机淘汰等,并讲解Redis主从同步的全量同步和增量同步原理。同时,分析哨兵机制如何确保高可用性,包括主备切换和故障监测。
摘要由CSDN通过智能技术生成

     在前两篇,我们学习了一下Redis的相关数据类型、底层实现、持久化、集群分区等知识,这一篇我们重点搞懂一下Redis的内存淘汰机制,用于容错的哨兵机制以及非常重要的应用场景。

Redis内存淘汰机制

    Redis是内存数据库,我们能时时刻刻能感受到Redis作者为更好地使用内存而费尽各种心思,例如最明显的是对于同一种数据结构在不同应用场景下提供了基于不同底层编码的实现(如压缩列表、跳跃表等)。
    Redis最常见的两种应用场景为缓存和持久存储,当Redis做缓存时,有一个Redis服务器,服务器物理内存大小为1G的,我们需要存在Redis中的数据量很小,这看起来似乎足够用很长时间了,随着业务量的增长,我们放在Redis里面的数据越来越多了,数据量大小似乎超过了1G,但是应用还可以正常运行,这是因为操作系统的可见内存并不受物理内存限制,而是虚拟内存,物理内存不够用没关系,操作系统会从硬盘上划出一片空间用于构建虚拟内存,比如32位的操作系统的可见内存大小为2^32,而用户空间的可见内存要小于2^32很多,大概是3G左右。好了,我们庆幸操作系统为我们做了这些,但是我们需要知道这背后的代价是不菲的,不合理的使用内存有可能发生频繁的swap,频繁swap的代价是惨痛的。所以回过头来看,作为有追求的程序员,我们还是要小心翼翼地使用好每块内存,把用户代码能解决的问题尽量不要抛给操作系统解决。
   所以,为了更好的利用内存,使Redis存储的都是缓存的热点数据,Redis设计了相应的内存淘汰机制(也可以叫做缓存淘汰机制)。

使用

    我们可以通过配置redis.conf中的maxmemory这个值来开启内存淘汰功能,我们可以通过这个值来设置内存淘汰算法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值