redis集群的一个简单总结

Redis

Redis 是什么

Redis是 remote dictionary server 的缩写,是一个key-value型的数据存储系统

Redis特性

丰富的数据类型和操作:string, list, hash, set, sorted set

数据持久化

主从复制

键过期

事务

键过期

惰性删除:每次读写操作时判定是否过期,过期就删除

定时删除:redis serverCron 程序删除过期键

定期清除:检查expires字典进行清除

主从 键过期:主服务器删除,会同步到从,从访问过期不会删除,只会返回key为空状态

主从服务器在保存rdb文件时会过滤过期键

从加载rdb文件时不会过滤过期键,主会

持久化

Rdb方式:将内存的数据以快照的方式写入磁盘。

父进程继续处理client请求,子进程负责将内存内容写入到临时文件,当子进程将快照写入临时文件完毕后,用临时文件替换原来的快照文件,然后子进程退出

优劣:性能高,数据占用磁盘较小;一旦崩溃,数据丢失率教大,数据量大重写时 i/o开销较大

Aof方式:每次写命令都会持久化所有写操作命令,重启时,通过重新执行这些命令还原数据。在数据还原时,只有和数据库无关的订阅等功能正常接收请求,其他的一律失败。

优缺点:性能相对较低,数据占用磁盘大;数据丢失较少,性能比较稳定。

Aof重写:随着运行时间的流逝, AOF 文件变得越来越大,通过重写节省空间

主进程fork出子进程,同时增加一个aof重写缓存,主进程处理命令请求,主进程将命令追加到现有的aof文;主进程将命令追加到aof重写缓存,子进程完成aof文件重写,通知主进程,主进程将aof重写缓存内容全部写入到新aof文件;主进程对新的aof文件进行重命名,覆盖老的aof文件

主从复制

主从复制就是把一台redis数据库中的数据同步到另一台redis数据库

一个master可以拥有多个slave,而一个slave又可以拥有多个slave,master可以有多个slave

除了多个slave连到相同的master外,slave也可以连接其他slave形成图状结构

主从复制不会阻塞master。相反slave在初次同步数据时则会阻塞不能处理client的请求。

流程:左边slave,右边master

集群架构

Redis集群到底怎么做有很多方式,这里就简单介绍其中一种方式。

主从结构,主节点用于处理所有请求,从节点备份。脚本定时rdb备份。脚本监控节点状态,主从漂移切换。Zookeeper保存配置,客户端与zookeeper集群通信维护集群状态信息。Double扩展。

时间: 2024-10-08 23:30:16

redis集群的一个简单总结的相关文章

Redis集群搭建与简单使用【转】

Redis集群搭建与简单使用 安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. 两台虚拟机都是 oracle linux 6.6 ,一台(IP:192.168.31.245),一台(IP:192.168.31.210) . 安装过程 1. 下载并解压 cd /root/software wget http://download.redis.io/releases/redis-3.2.4.t

Redis集群搭建与简单使用

转载 介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. 两台虚拟机都是 CentOS ,一台 CentOS6.5 (IP:192.168.31.245),一台 CentOS7(IP:192.168.31.210) . 安装过程 1. 下载并解压 cd /root/software wget http://download.redis.io/releases/redis-3.2.4.ta

【转】Redis集群搭建与简单使用

介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. 两台虚拟机都是 CentOS ,一台 CentOS6.5 (IP:192.168.31.245),一台 CentOS7(IP:192.168.31.210) . 安装过程 1. 下载并解压 cd /root/software wget http://download.redis.io/releases/redis-3.2.4.tar.g

(转)Redis集群搭建与简单使用(最少需要 6个节点)

介绍安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. 两台虚拟机都是 CentOS ,一台 CentOS6.5 (IP:192.168.31.245),一台 CentOS7(IP:192.168.31.210) . 安装过程 1. 下载并解压 cd /root/software wget http://download.redis.io/releases/redis-3.2.4.tar.g

Redis集群搭建&访问

集群搭建步骤 1.创建多个节点: 2.为每个节点指派槽,并将多个节点连接起来,组成一个集群: 3.当集群数据库的16384个槽都有节点在处理时,集群进入上线状态: 要求:搭建一个包含6个节点的Redis集群,其中三个主节点,三个从节点,每个主节点都有一个从节点 注:在极端情况下,如果将16384个槽都指派给一个主节点,那么只有一个主节点也可以让集群进入上线状态,但是要让集群的故障转移特性生效,最起码要有3个主节点,而要让故障转移真正有意义,至少要为三个主节点分别设置一个从节点,这也是本例子中使用

Redis 集群cluster

在网上查找 redis集群的相关文档,很多都是以主从或者主从故障转移而说是集群,前几天玩了下集群,今天终于写出来一部分内容,可以分享出来了. 一.       Redis集群基础介绍 1.Redis集群简介:Redis集群是一个可以在多个 Redis 节点之间进行数据共享的设施.Redis 集群通过分区来提供一定程度的可用性:即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求.Redis 集群提供了以下两个好处:(1.)将数据自动切分(split)到多个节点的能力.(2.)

Java Spring mvc 操作 Redis 及 Redis 集群

本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 Redis 是什么,能做什么 Redis 是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.它支持字符串.哈希表.列表.集合.有序集合,位图,hyperloglogs等数据类型.内置复制.Lua脚本.LRU收回.事务以及不同级别磁盘持久化功能,同时通过Redis

Redis集群及管理讲解

集群技术是构建高性能网站架构的重要手段,试想在网站承受高并发访问压力的同时,还需要从海量数据中查询出满足条件的数据,并快速响应,我们必然想到的是将数据进行切片,把数据根据某种规则放入多个不同的服务器节点,来降低单节点服务器的压力.上篇redis_主从我们讲到了 Redis 的主从复制技术,当实现了多节点的 master-slave 后,我们也可以把它叫做集群,但我们今天要讲的集群主要是利用切片技术来组建的集群.我们最后希望达到的是类似下图: 二.实现策略 因为从3.0开始以后官方已经支持了 re

Redis集群环境的部署记录

Redis Cluster终于出了Stable,这让人很是激动,等Stable很久了,所以还是先玩玩. 一. 集群简单概念. Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation). Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令需要在多个 Redis 节点之间移动数据, 并且在高负载的情况下, 这些命令将降低 Redis 集群的性能, 并导致不可预测的行为. Redis 集群通过分区(partition)来提供