标签:同步数据 分片 不同 问题 比较 实例 验证过 val 理解
项目中用到Redis,所以准备学习一下,感觉Redis的概念还是很多的,什么主从模式、Sentinal模式、集群模式的,一下子都晕了,我觉得还是有必要先理清这些基本概念再说。
单节点实例还是比较简单的,平时做个测试,写个小程序如果需要用到缓存的话,启动一个Redis还是很轻松的,做为一个key/value数据库也是可以胜任的。单节点部署参照:http://www.cnblogs.com/yiwangzhibujian/p/7053840.html 中的初级教程。
主从模式的简介和配置,此处不再说,参照下面的博客:Redis 主从模式详解。
首先谈谈我对主从模式的必要性:
对主从模式必须的理解(结论已经验证过,可以自行验证):
对有密码的情况说明一下,当master节点设置密码时:
主从模式的缺点其实从上面的描述中可以得出:
这个缺点影响是很大的,尤其是对生产环境来说,是一刻都不能停止服务的,所以一般的生产坏境是不会单单只有主从模式的。所以有了下面的Sentinal模式。
Sentinal模式的简介和配置,此处不再说,参照下面的博客:Redis Sentinal模式详解。
Sentinal的中文含义是哨兵、守卫。也就是说既然主从模式中,当master节点挂了以后,slave节点不能主动选举一个master节点出来,那么我就安排一个或多个Sentinal来做这件事,当Sentinal发现master节点挂了以后,Sentinal就会从slave中重新选举一个master。
对Sentinal模式的理解:
当使用Sentinal模式的时候,客户端就不要直接连接Redis,而是连接Sentinal的ip和port,由Sentinal来提供具体的可提供服务的Redis实现,这样当master节点挂掉以后,Sentinal就会感知并将新的master节点提供给使用者。
Sentinal模式基本可以满足一般生产的需求,具备高可用性。但是当数据量过大到一台服务器存放不下的情况时,主从模式或Sentinal模式就不能满足需求了,这个时候需要对存储的数据进行分片,将数据存储到多个Redis实例中,就是下面要讲的。
Sentinal模式的简介和配置,此处不再说,参照下面的博客:Redis cluster模式详解。
cluster的出现是为了解决单机Redis容量有限的问题,将Redis的数据根据一定的规则分配到多台机器。对cluster的一些理解:
这种模式适合数据量巨大的缓存要求,当数据量不是很大使用Sentinal即可。
【Redis】Redis学习(二) master/slave、sentinal、Cluster简单总结
标签:同步数据 分片 不同 问题 比较 实例 验证过 val 理解
原文地址:http://www.cnblogs.com/yiwangzhibujian/p/7047458.html