Redis-Cluster

Redis Cluster 集群

参考:https://www.cnblogs.com/kismetv/p/9853040.html
集群,即Redis Cluster,是Redis 3.0开始引入的分布式存储方案。
集群由多个节点(Node)组成,Redis的数据分布在这些节点中。集群中的节点分为主节点和从节点:只有主节点负责读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制。
集群的作用,可以归纳为两点:

Redis-Sentinel

Redis Sentinel 哨兵部署

环境搭建

操作系统:CentOS8
Redis版本:6.0.8(Redis已经提前安装好了)
Redis安装路径:/redis
Redis配置文件名:redis-6379.conf

IP HOST Redis-Port Sentinel-Port ROLE
192.168.10.11 redis1 6379 26379 Master
192.168.10.12 redis2 6379 26379 Slave1
192.168.10.13 redis3 6379 26379 Slave2

Redis-Part-Copy-Principle

Redis全量复制和部分复制

搬运:https://www.cnblogs.com/kismetv/p/9236731.html
在Redis2.8以前,从节点向主节点发送sync命令请求同步数据,此时的同步方式是全量复制;在Redis2.8及以后,从节点可以发送psync命令请求同步数据,此时根据主从节点当前状态的不同,同步方式可能是全量复制或部分复制。后文介绍以Redis2.8及以后版本为例。
全量复制:用于初次复制或其他无法进行部分复制的情况,将主节点中的所有数据都发送给从节点,是一个非常重型的操作。
部分复制:用于网络中断等情况后的复制,只将中断期间主节点执行的写命令发送给从节点,与全量复制相比更加高效。需要注意的是,如果网络中断时间过长,导致主节点没有能够完整地保存中断期间执行的写命令,则无法进行部分复制,仍使用全量复制。

Redis-Copy

Redis主从复制

主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave);数据的复制是单向的,只能由主节点到从节点。
默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。

Redis-Memory-Mode

Redis内存模型

搬运:https://www.cnblogs.com/kismetv/p/8654978.html

前言

Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。
我们使用Redis时,会接触Redis的5种对象类型(字符串、哈希、列表、集合、有序集合),丰富的类型是Redis相对于Memcached等的一大优势。在了解Redis的5种对象类型的用法和特点的基础上,进一步了解Redis的内存模型,对Redis的使用有很大帮助,例如:

Redis-Persistence-Principle

Redis 持久化存储搬运

搬运:https://www.cnblogs.com/kismetv/p/9137897.html

前言

将依次介绍Redis高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。
本文将先说明上述几种技术分别解决了Redis高可用的什么问题;然后详细介绍Redis的持久化技术,主要是RDB和AOF两种持久化方案;在介绍RDB和AOF方案时,不仅介绍其作用及操作方法,同时介绍持久化实现的一些原理细节及需要注意的问题。最后,介绍在实际使用中,持久化方案的选择,以及经常遇到的问题等。

Redis-Persistence

Redis持久化存储

Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了RDB与AOF两种持久化的方案,将内存中的数据保存到磁盘中,避免数据的丢失。

RDB持久化存储

Redis提供了RDB持久化的功能,这个功能可以将Redis在内存中的的状态保存到硬盘中,它可以手动执行。也可以在redis.conf中配置,定期执行。
RDB持久化产生的RDB文件是一个经过压缩的二进制文件,这个文件被保存在硬盘中,Redis可以通过这个文件还原数据库当时的状态。

RDB(持久化)

内存数据保存到磁盘
在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)
优点:速度快,适合做备份,主从复制就是基于RDB持久化功能实现
rdb通过再redis中使用save命令触发 rdb

|