
redis
霁云HYY
博客中的很多内容都是取自公众号《儒猿技术窝》中的专栏,进行了一定的修改和总结,感兴趣的同学可以自行查找更加具体的专栏参考和学习
展开
-
redis主从架构和redis cluster的选主原理
redis主从架构判断节点宕机首先哨兵会判断master是否宕机,这里有两个状态,分别是sdown(主观宕机)和odown(客观宕机)。sdown就是一个哨兵认为master宕机,当哨兵ping一个master,并且超过了is-master-down-after-milliseconds参数配置的时间之后没有响应,就认为是sdown,之后如果一个哨兵在指定时间之内,收到了quorum指定数...原创 2020-03-14 14:59:57 · 3488 阅读 · 2 评论 -
redis主从架构及redis cluster的高可用高并发原理
redis在项目中扮演着很重要的角色,一旦redis出现故障,就会出现缓存雪崩的问题,进而导致整个系统的崩溃;同时redis还必须应付高并发的场景,为底层的数据库抗下大部分的流量。所以redis需要实现高可用以及高并发的架构,主要的实现方式有redis主从架构和redis cluster两种首先来说说redis的主从架构,redis的主从架构实现高并发依靠的是读写分离,master节点负责写操作...原创 2020-03-09 11:24:56 · 444 阅读 · 0 评论 -
数据分布算法(hash算法 VS 一致性hash算法 VS hash slot算法)
在讲redis的hash slot之前,先讲一讲最常见的hash算法和一致性hash算法做个比较hash算法最常见的hash算法就是直接取模了,假如这是我们有三台redis服务器,这时来了一个key,我们会先对key进行hash计算,然后根据机器数量进行取模,然后就确定了机器,将key发送到上面去,看起来好像很简单假如这时突然有一台机器宕机了,那么一时间这台机器上所有的缓存都失效了,那么...原创 2020-02-29 16:24:38 · 619 阅读 · 0 评论 -
redis的RDB和AOF持久化操作
如果你的redis没有做持久化的操作,那么当遇到灾难性的事故时,你就会丢失所有的数据,当你再想恢复redis中的数据时,就会非常困难;当你的redis做了持久化的操作,比如说定期将数据存放到一些云存储服务上,当你遇到redis宕机的情况,重启redis之后redis就会自动根据持久化数据文件中的数据,去恢复内存中的数据,继续对外提供服务,这就是redis持久化的意义。RDB和AOF两种持久化...原创 2019-07-15 21:31:26 · 231 阅读 · 0 评论 -
redis集群(主从)脑裂及解决方案
什么是redis的集群脑裂?redis的集群脑裂是指因为网络问题,导致redis master节点跟redis slave节点和sentinel集群处于不同的网络分区,此时因为sentinel集群无法感知到master的存在,所以将slave节点提升为master节点。此时存在两个不同的master节点,就像一个大脑分裂成了两个。集群脑裂问题中,如果客户端还在基于原来的master节点继续写入...原创 2019-07-24 15:39:58 · 35874 阅读 · 24 评论 -
分布式锁之redis锁和zookeeper锁
非分布式的项目在需要使用到锁的场景下,可以使用java自带的一些锁的机制来完成这项工作,例如synchronizehe和reentrentlock。但是在分布式的项目中,因为在不同的服务中,普通的锁已经无法共享了,所以我们需要使用分布式锁来完成这项工作,常见的有基于数据库来实现分布式锁,redis锁,zk锁和基于consul的分布式锁等等。这篇文章主要介绍一下redis分布式锁和zk的分布式锁。...原创 2019-07-21 17:22:47 · 1241 阅读 · 2 评论