redis集群简介

redis是一个键值对,NOSQL,高性能存储系统,性能高,是分布式缓存的最佳人选,特别是node环境下,由于node的内存限制,是的node在内存方面寸土寸金,使用redis做缓存,是高性能高并发,node服务器最佳组合。

redis是使用内存进行存储的,所以就注定了他不适合非常大的持久性数据,这样的数据还是交给mongodb,elasticSearch,mysql来存储。使用redis一定要注意内存的浪费,redis是单线程的一定要注意redis对cpu的使用率,如果过高就会造成卡顿。redis的过期键数据回收机制有两种,惰性回收和定时回收。

redis哨兵是redis分布式的关键。下来看一下redis主从复制问题,在主从复制模式下主节点将数据同步到从节点,一旦主节点出问题从节点顶上去,这样以来一个关键的问题是主节点的读和写的能力就决定了整个系统的能力。如果这个过程有人工干预必然造成数据不完整和丢失,这就要求我们构建高可用的redis集群。

一个高可用的redis主从复制模式,对于小型的公司这样足够了。它包括若干个哨兵节点和若干个数据节点,每个哨兵节点会对数据节点和其余的哨兵节点进行监控,当发现节点不可用时,会对节点进行标识,如果被标识的节点是主节点,他就会和其他哨兵节点进行协商,当大多数哨兵节点都认为主节点不可用,他们会自动选出一个哨兵节点完成鼓掌转义工作,整个过程自动化,从而使系统高可用。

一个分布是数据库首先要解决的问题是,把这个数据集合按照分区映射到多个节点的问题,一般有三种选择:1,节点取余分区。2,哈希表分区。3,虚拟槽分区。redis采用的是虚拟槽分区。它是所有的键值根据哈希函数映射到0-16383的整数槽内,一个节点负责维护一部分槽位和数据,并且节点之间不断交换信息,一段时间后一个节点就知道整个集群的完整信息,但是这种信息交换是有成本的。理论上来讲,可以向集群的任意一个节点发送数据请求,如果该节点没有,它会自动向有的节点转发。如果你是运维工程师,里面设计的问题很多很复杂,这里不再赘述。

原文地址:https://www.cnblogs.com/node-jili/p/10184411.html

时间: 2024-08-28 16:44:32

redis集群简介的相关文章

Redis 集群cluster

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

Redis 集群搭建详细指南

先有鸡还是先有蛋? 最近有朋友问了一个问题,说毕业后去大城市还是小城市?去大公司还是小公司?我的回答都是大城市!大公司!为什么这么说呢,你想一下,无论女孩男孩找朋友都喜欢找个子高胸大的.同样的道理嘛,「大」总有大的好.当然,如果你要有能力找一个胸大个子高就更完美了. Redis 集群简介 Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存.Redis 在3.0版本前只支持单实例模式,虽然支持主从模式.哨兵模式部署来解决单点故障,但是现在互

Redis 集群搭建(基于Linux)

一.基础环境 1.虚拟机 VMware 15.x 2.Linux系统,用的是Centos7的Linux系统 3.Redis数据库版本 5.0.3 二.Redis集群简介 1.背景 Redis在3.0版本前只支持单实例模式,虽然支持主从模式部署来解决单点的故障,但是现在互联网企业的数据,都是几百G的数据,完全无法满足业务的需求,所以,在3.0版本以后就退出了集群模式. 2.概念 将多台Redis的服务器组成集群,分担负载.相对于主从架构,是进一步的扩展和升级.集群中的多台主服务器,同时对外提供读写

redis(8)集群简介

一.集群 互联网每天都会产生大量的数据,单实例已经不能满足需求.但是如果依赖于硬件成本的提升,那就不是所有人能够负担的起的. 集群这个时候出现,一定程度上解决了这个问题.它通过互联网,将多个单实例连接在一起,对外隐藏实现细节,这样在用户看来跟单实例是一样的.你不需要去购买昂贵的服务器,甚至于只需要通过多台廉价的服务器就可以满足需要. 二.redis集群 1.简介 在redis3.0之前是它的无集群时代,大家只能够通过一些中间件来完成集群.而3.0开始,redis内部集群的实现开始逐渐替代很多中间

Redis 集群介绍

Redis 集群介绍 开源键值对存储数据库Redis在4月1日发布了3.0.0版.主要新特性包括:Redis Cluster,Redis子集的分布式实现:新的"嵌套字符串"对象编码减少缓存遗漏,大幅提高某些工作负荷的速度:等等.开发者Salvatore Sanfilippo表示,Redis 3.0.0是第一个原生支持集群的稳定版本,可能需要1到2年才能成熟,它对Redis生态系统具有重要意义,Redis Cluster将向用户提供某种程度的自动伸缩和容错能力,将改变用户看待Redis的

Redis 集群方案

根据一些测试整理出来的一份方案: 1. Redis 性能 对于redis 的一些简单测试,仅供参考: 测试环境:Redhat6.2 , Xeon E5520(4核)*2/8G,1000M网卡 Redis 版本:2.6.9 客户端机器使用redis-benchmark 简单GET.SET操作: 1. 1单实例测试 1. Value大小:10Byte~1390Byte 处理速度: 7.5 w/s,速度受单线程处理能力限制 2. Value 大小:1400 左右 处理速度突降到5w/s 样子,网卡未能

CAS工程用redis集群存储票据ticket Spring整合

maven jar包版本: <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <groupId>org.springframework.data</groupId> <artifactId>spr

C#使用Redis集群缓存

C#使用Redis集群缓存 本文介绍系统缓存组件,采用NOSQL之Redis作为系统缓存层. 一.背景 系统考虑到高并发的使用场景.对于并发提交场景,通过上一章节介绍的RabbitMQ组件解决.对于系统高并发查询,为了提供性能减少数据库压力,我们加入缓存机制,可以不同层次加入缓存支持,本文主要介绍应用服务层和数据层之间加入缓存机制提升性能.业界缓存组件有Redis.Memcached.MemoryCache.本系统采用Redis缓存组件,有些系统将Redis当作MQ使用,此场景本系统用Rabbi

就publish/subscribe功能看redis集群模式下的队列技术(一)

Redis 简介 Redis 是完全开源免费的,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储. Redis支持数据的备份,即master-slave模式的数据备份. 性能极高 – Redis能读的速度是110000次/s