IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis常见模式 -> 正文阅读

[大数据]Redis常见模式

主从复制好处:

  1. 读写分离,性能扩展;
  2. 容灾快速恢复(一台从机宕掉,切换其他从机);

一主二从:
当从服务器挂掉,重新启动时,(从机)切换为独立主机,重新设置为从机,则从头开始复制主机数据;
主服务器挂掉,从服务器不变,主服务器恢复,还为主服务器;
主从复制原理:(全量复制+增量复制)
1、当从服务器连接主服务器后,从服务器向主服务器发送进行数据 同步消息;
2、主服务器接到从服务器发送过来的同步消息,把主服务器数据进行持久化,rdb文件,把rdb文件发送从服务器,从服务器拿到rdb进行读取;
3、每次主服务器进行写操作之后,和从服务器进行数据同步;
薪火相传:
从服务器下可以挂从服务器,挂掉同一主而从(从服务器恢复后变为独立主机,需要重新建立关联);
反客为主:
将从机变为主机:slaveof no one
当一个master宕机后,后面的slave可以立刻升为master,其后面的slave不用做任何修改
哨兵模式:(反客为主的自动版)
主机挂掉,选择从机的条件依次为:
1、选择优先级靠前的(slave-priority(redis6:replica-priority) 100(默认)值越小,优先级越高);
2、选择偏移量最大的(偏移量指获得原主机数据最全的);
3、选择runid最小的从服务(每个redis实例启动都会随机生成一个40位的runid);
Redis集群
主从模式,薪火相传模式,主机宕机,导致ip地址发生变化,应用程序中配置需要修改对应的主机地址、端口等信息;(之前通过代理主机来解决,但是redis3.0中提供了解决方案,就是无中心化集群配置)
Redis集群特点
Redis集群实现了对Redis的水平扩容,即启动N个redis节点,将整个数据库分布式存储在这N个节点中,每个节点存储总数据的1/N;
Redis集群通过分区(partition)来提供一定程度的可用行:即使集群中有一部分节点失效或者无法进行通讯,集群也可以继续处理命令请求;
redis cluster配置重要参数:
cluster-enabled yes 打开集群模式;
cluster-config-file nodes-6379.conf 设定该节点的配置文件名;
cluster-node-timeout 15000 设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换;
(查看当前集群情况使用命令:cluster nodes)
一个集群至少要有三个主节点
选项 --cluster-replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
分配原则尽量保证每个主数据库运行在不用的ip地址,每个从库和主库不在一个ip地址上;
slot
一个Redis集群包含16384个插槽(hash slot),数据库中每个键都属于这16384个插槽中的一个,集群使用公式 crc16(key)%16384来计算key属于哪个槽,集群中每个节点负责处理一部分插槽。如果一个主机挂掉,则从机升为主机,之前的主机恢复后变为从机;
如果某一段插槽的主从节点都宕掉,redis服务是否还能继续?
若:cluster-require-full-coverage : yes 那么整个集群都挂掉;
若为 No, 那么该插槽数据全都不能使用,也无法存储;
redis集群的好处:
1、实现扩容
2、分摊压力
3、无中心配置相对简单
不足:
1、多键操作不被支持(需将多键分为一个组);
2、多键的Redis事务是不被支持的,lua脚本不被支持;
3、由于集群方案出现较晚,很多公司已经采用了其他集群方案,而代理或者客户端分片的方案想要迁移至redis cluster, 需要整体迁移而不是逐步过渡,复杂度较大;

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-04 12:55:11  更:2021-10-04 12:56:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:06:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码