主从,哨兵,集群
redis cluster 和 replication + sentinal 比较?
主从:主从数据库
但是由于数据是存储在一台服务器上的,如果这台服务器出现硬盘故障等问题,也会导致数据丢失。
为了避免单点故障,通常的做法是将数据库复制多个副本以部署在不同的服务器上,这样即使有一台服务器出现故障,其他服务器依然可以继续提供服务。
为此, Redis 提供了复制(replication)功能,可以实现当一台数据库中的数据更新后,自动将更新的数据同步到其他数据库上。
哨兵
Redis 2.8中提供了哨兵工具来实现自动化的系统监控和故障恢复功能;
集群
即使使用哨兵,redis每个实例也是全量存储,每个redis存储的内容都是完整的数据,浪费内存且有木桶效应。
为了最大化利用内存,可以采用集群,就是分布式存储。
即每台redis存储不同的内容,共有16384个slot。每个redis分得一些slot,hash_slot = crc16(key) mod 16384 找到对应slot,键是可用键,如果有{}则取{}内的作为可用键,否则整个键是可用键
集群至少需要3主3从,且每个实例使用不同的配置文件,主从不用配置,集群会自己选。
修改每个实例的配置文件:cluster-enabled yes --开启集群cluster-config-file nodes-6382.conf --集群配置文件名,每个实例配置的
要不同,redis会根据文件名自动新建
用集群工具创建集群:
作者:黄河边上的牧马人
来源:CSDN
原文:https://blog.csdn.net/c295477887/article/details/52487621
版权声明:本文为博主原创文章,转载请附上博文链接!
哨兵
https://www.cnblogs.com/jaycekon/p/6237562.html
总结:主从数据库,哨兵,集群
主从数据库就一个master跟着多个slave,master和slave保存的数据一样,slave是master的完整备份,
哨兵监控主从数据库的master和slave,当master挂了,用slave替代。
集群:至少3个master,每个master跟着多个slave备份,
当master挂了,用slave顶,
并且每个master保存的仅仅是一个hash slot的数据,需要结合所有的master才能是所有的数据,这和主从数据库不同,
redis cluster是分布式存储,并且有主从模式,解决容错。
所以当我们在说集群的时候,说的即使分布式存储和主从模式