Docker虚拟机入门(三)--3.1 Redis 高速缓存介绍

  1. 高速缓存利用嫩保存数据,读写速度远超硬盘
  2. 高速缓存可以减少I/O操作,降低I/O压力

例子1:发红包和抢红包就用到了高速缓存,假如不是用告诉缓存的话,发红包的记录就要写到数据库里面,发起抢红包的请求,腾讯后台服务器就要读取这条红包记录,然后大家一起瓜分红包金额,过年量大的对于数据库压力十分大。

例子1:打开首页APP首页的一些内容,有些是从redis加载,有些是从数据库加载,比如说一些促销秒杀的热门商品,这些是共性的商品,大家都能看到的,就从redis高速缓存里面去取;淘宝还有基于大数据的内容推荐商品,这些不是共性商品,是你喜欢的商品,这些就从数据库里取。告诉缓存不一定是redis。

  • Redis介绍

  1. Redis是Wmware开发的开源免费的KV型NoSQL缓存产品
  2. Redis具有良好的性能,最多可以提供10万每秒的读写
  3. 目前新浪微博团队组建了世界上最大规模的Redis集群(比如说很多热点数据)
  • Redis集群介绍

  • Redis目前的集群方案分为以下几种:
  1. RedisCluster:官方推荐,没有中心节点(我们之前用过pxe集群,pxe集群就是没有中心节点的,比如说数据库里面,有一部分中心节点挂掉了,剩余的节点如果超过半数,选举出来一个主节点,其它的节点和这个主节点同步数据,注意这个主节点不是中心节点,朱姐点就是说保存的数据是最新的,保存的数据最多,剩余节点和主节点同步数据,同步之后主节点就消失了,集群里面就没有主节点了,所以主节点不是中心节点)
  2. Codis:中间件产品,纯在中心节点(360公司退出的,中心节点一旦挂掉之后,整个Redis集群就不能用了)
  3. Twemproxy:中间件产品,存在中心节点(比Codis老)

所以权衡之后本门课程采用的方案是RedisCluster。


  • RedisCluster

  1. 无中心节点,客户端与redis节点相连,不需要中间代理层(redis每个节点都是可读可写的);
  2. RedisCluster数据可以被分片存储,就是说每一个节点存储的数据不一样(假如说redis集群有三个节点abc,abc存储的数据会不一样,也就是说存储的数据会被切分到不同的redis节点上面。如果说abc3个节点任何一个节点挂掉,会不会损失数据呢,会的!为了避免这种情况,就要为abc3个节点,分别设置冗余节点【即备份】,如果a节点挂掉了,冗余节点继续提供a节点的服务。);
  3. 管理方便,后续可自行增加或摘除节点。
  • RedisCluster集群示意图

图里面用到三节点redis构成一个redis集群,是为了避免某一个节点出现故障【数据丢失】,所以我们要为这三个节点配置冗余节点,所以算下来整个RedisCluster集群用到了六个节点的redis。正常进行业务操作的redis节点叫做主节点【Master】,和主结点进行数据同步的叫做从节点【Slave】。


  • Redis主从同步

  • 主从同步

之前说了是切分存储,即每一个节点存储数据不一样,一点挂掉即丢失,就用到了冗余节点。

  1. Redis集群中的数据库复制是从主从同步来实现的;
  2. 主节点【Master】把数据分发给从节点【Slave】;
  3. 主从同步的好处在于高可用,节点有冗余设计。

​​​​​​​

 

  • Redis集群高可用

  1. Redis集群中应该包含奇数个Master,至少应该有三个Master(因为选举机制,上面有讲到);
  2. Redis集群中每个Master都应该有Slave(通过客户端连接到第一个master,向第一个master写入数据,它会计算这个mast数据应该切分到哪个master节点上,如果说存储到第一个master节点上面,它就会保存,然后他就会复制到对应的slave节上,经过计算这个数据不应该存储在当前的master节点上,第一个master节点就会将数据发给其他master节点上去存储,经过复制对应slave节点也同步了数据,所以跟大家说,在RedisCluster集群里面,我们通过客户端连接任何的master都可以读写数据,不管这个数据是否应该保存这个master,还是不应该保存在这个master上,正常向master写入数据即可

Q1:RedisCluster集群怎么不去配置负载均衡呢?数据库配置了负载均衡,redis为什么不配置负载均衡呢?

A1:我们采用的前后端分离项目,后台采用的是Spring架构,Spring程序里面已经帮我们实现了负载均衡

​​​​​​​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值