【亿级流量缓存架构之Redis缓存】
文章平均质量分 68
Redis 基础知识
Redis 主从架构
Reids Cluster集群架构
程序员不弃
努力到无能无力,坚持到感动自己。
不求最强,只求更强,每天进步一点点,未来一定不会差。
展开
-
3.【多级缓存架构】数据库和缓存不一致的情况分析和解决方案
3.【多级缓存架构】数据库和缓存不一致的情况分析和解决方案文章目录3.【多级缓存架构】数据库和缓存不一致的情况分析和解决方案1. 最初级的缓存不一致的问题以及解决方案1.1 问题:先修改数据库,在删除缓存,如果删除缓存失败了,就会导致数据库中的是新数据,缓存中的是旧数据,数据出现不一致。1.2 解决思路:2. 复杂的数据不一致的问题分析(多线程并发读写同一个数据)2.1 问题2.2 出现原因:2.3 解决方案:数据库和缓存更新与读取操作异步串行化2.3 高并发场景下,该解决方案要注意的问题2.3.1 读请原创 2022-04-04 16:21:15 · 3595 阅读 · 2 评论 -
2.【多级缓存架构】Cache Aside Pattern缓存和数据库读写模式分析
2.【多级缓存架构】Cache Aside Pattern缓存和数据库读写模式分析文章目录2.【多级缓存架构】Cache Aside Pattern缓存和数据库读写模式分析1. Cache Aside Pattern2. 为什么要删除缓存,而不是更新缓存?3、总结:1. Cache Aside Pattern读的时候,先读缓存;缓存没有的话,那么就读数据库,然后再将数据放入缓存,同时返回响应。更新的时候,先删除缓存,然后再更新数据库,2. 为什么要删除缓存,而不是更新缓存?答案:原创 2022-04-04 15:56:25 · 3013 阅读 · 0 评论 -
1.【多级缓存架构】多级缓存架构以及每一层的意义
1.【多级缓存架构】多级缓存架构以及每一层的意义文章目录1.【多级缓存架构】多级缓存架构以及每一层的意义1. 多级缓存架构2. 缓存数据分类2.1 时效性高的数据,比如:库存2.2 失效性不高的数据,比如:商品颜色,版本,规格参数等等2.3 案例:nginx + lua脚本做页面动态生成的工作,3. 多级缓存架构中每一层的意义3.1 nginx本地缓存3.2 redis分布式大规模缓存3.3 tomcat jvm 对内存缓存1. 多级缓存架构nginx本地缓存 + redis分布式缓存 + tomc原创 2022-04-04 15:19:43 · 4589 阅读 · 0 评论 -
03_Redis Cluster支撑海量数据、高并发、高可用架构
1.【Redis Cluster集群】Redis如何横向扩容,支撑海量数据2.【Redis Cluster集群】redis分布式数据存储核心原理3.【Redis Cluster集群】搭建高可用+支持海量数据+多Master的redis cluster集群4.【Redis Cluster集群】redis cluster 多mster写入,读写分离,高可用5.【Redis Cluster集群】redis水平扩容master,支持海量数据6.【Redis Cluster集群】自动化slave实现高可用的原创 2022-03-23 23:40:16 · 447 阅读 · 0 评论 -
【Redis Cluster集群】自动化slave实现高可用的架构方案
文章目录1、redis cluster 挂载冗余的slave,实现架构的高可用 -- slave迁移1、redis cluster 挂载冗余的slave,实现架构的高可用 – slave迁移场景描述:比如现在有10个master,每个有一个slave,然后新增3个salve作为冗余,有的master就有2个slave,出现了slave冗余;如果某个master的slave挂了,那么redis cluster会自动迁移一个冗余的slave给那个master,保证整个redis cluster的高可原创 2022-03-23 23:37:58 · 577 阅读 · 0 评论 -
【Redis Cluster集群】redis如何横向扩容,支撑海量数据
1. 【Redis Cluster集群】redis如何横向扩容,支撑海量数据1. 单机redis 在海量数据面前的瓶颈2. 如何才能突破单机瓶颈,让redis支撑海量数据?3. redis的集群架构 redis cluster支持N个redis master node,每个master node都可以挂载多个slave node读写分离的架构,对于每个master,写就写到master,然后读就从master对应的slave去读。高可用,因为每个master都有slave节点,那么如果mas原创 2020-08-15 22:19:56 · 1194 阅读 · 0 评论 -
【Redis Cluster集群】Redis线上环境常用参数设置
文章目录1. fork耗时导致高并发请求延时1.1 问题:rdb或aof时,会fork子进程,带来大量的磁盘IO消耗,导致耗时严重1.2 优化思路:2. AOF阻塞问题2.1 问题原因:2.2 优化思路3. 主从复制延迟的问题4. 主从复制风暴问题5. vm.overcommit_memory6. swapiness7. 最大打开文件句柄8. tcp backlog1. fork耗时导致高并发请求延时1.1 问题:rdb或aof时,会fork子进程,带来大量的磁盘IO消耗,导致耗时严重RDB和AOF的原创 2022-03-23 23:27:25 · 310 阅读 · 0 评论 -
【Redis Cluster机器】redis cluster核心原理分析:gossip通信,jedis smart定位,主备切换
文章目录1. 基础通信原理1.1 redis cluster 节点间采用gossip协议进行通信:1.2 10000端口1.3 交互的信息2. gossip协议3. ping消息深入4.面向集群的jedis内部实现原理-jedis cluster api1. 基于重定向的客户端5. smart jedis5.1 什么是 smart jedis5.2 jediscluster的工作原理5.3 hash slot迁移和ask重定向6. redis cluster 高可用性和主备切换原理(类似哨兵)6.1 判断节原创 2022-03-23 23:25:11 · 1726 阅读 · 0 评论 -
【Redis Cluster集群】自动化slave实现高可用的架构方案
文章目录1、redis cluster 挂载冗余的slave,实现架构的高可用 -- slave迁移1、redis cluster 挂载冗余的slave,实现架构的高可用 – slave迁移场景描述:比如现在有10个master,每个有一个slave,然后新增3个salve作为冗余,有的master就有2个slave,出现了slave冗余;如果某个master的slave挂了,那么redis cluster会自动迁移一个冗余的slave给那个master,保证整个redis cluster的高可原创 2022-03-23 23:23:23 · 1937 阅读 · 0 评论 -
【Redis Cluster集群】redis水平扩容master,支持海量数据
5. 【Redis Cluster集群】redis水平扩容master,支持海量数据redis是怎么扩容的1、加入新mastermkdir -p /var/redis/7007port 7007cluster-enabled yescluster-config-file /etc/redis-cluster/node-7007.confcluster-node-timeout 15000daemonize yes pidfile /var/run/redis_7007.原创 2022-03-23 23:20:46 · 484 阅读 · 0 评论 -
【Redis Cluster集群】redis cluster 多mster写入,读写分离,高可用
4. 【Redis Cluster集群】redis cluster 多mster写入,读写分离,高可用redis cluster,提供了多个master,分布式存储:数据可以分布式存储到多个master上;读写分离:每个master都带着slave,自动实现读写分离;高可用:每个master如果故障,redis cluster可以自动将slave切换成master,以此实现redis cluster的高可用1. 测试:多master写入 -> 海量数据的分布式存储1.1 redis c原创 2022-03-23 23:19:11 · 3868 阅读 · 0 评论 -
【Redis Cluster集群】搭建高可用+支持海量数据+多Master的redis cluster集群
3.【Redis Cluster集群】搭建高可用+支持海量数据+多Master的redis cluster集群redis cluster最最基础的一些知识redis cluster: 自动,master+slave复制和读写分离,master+slave高可用和主备切换,支持多个master的hash slot支持数据分布式存储停止之前所有的实例,包括redis主从和哨兵集群1、redis cluster的重要配置# 启用redis集群支持cluster-enabled <yes原创 2022-03-23 23:17:57 · 366 阅读 · 0 评论 -
【Redis Cluster集群】redis分布式数据存储核心原理
2.【Redis Cluster集群】redis分布式数据存储核心原理学习内容redis 数据存储的核心算法1. 最简单的数据分布算法-hash 算法1.1 hash原理来了一个key之后,计算hash值,然后对节点数量取模,取模的结果一定是在0-(节点数量-1)之间,就可以根据取模结果将请求打到具体的某一节点上去。1.1 hash算法缺陷一旦某一个master宕机了,当请求过来,会根据新的节点数量取模,请求会到和原先不同的master上去,导致几乎大部分请求,全部都无法拿到有效的原创 2022-03-23 23:15:13 · 1405 阅读 · 0 评论 -
02_【Redis主从架构】
1.【Redis主从架构】Redis如何支撑高并发2.【Redis主从架构】Redis replication以及master持久化对主从架构的意义3. 【Redis主从架构】Redis主从复制原理,断点续传,无磁盘化复制,key过期处理4. 【Redis主从架构】Redis replication完整流程和深入讲解5. 【Redis主从架构】搭建一个一主一从的Redis主从架构6. 【Redis主从架构】Redis主从如何做到99.99%高可用7. 【Redis主从架构和哨兵集群】哨兵基础知识原创 2022-03-22 21:09:32 · 107 阅读 · 0 评论 -
【Redis主从架构】Redis集群和哨兵集群的容灾测试
12. 【Redis主从架构】Redis集群和哨兵集群的容灾测试1. 哨兵节点的增加和删除1.1 增加sentinal,会自动发现会基于master-slave的pub/sub机制,进行sentinal的发现1.2 删除sentinal停止sentinal进程SENTINEL RESET *,在所有sentinal上执行,清理所有的master状态。SENTINEL MASTER mastername,在所有sentinal上执行,查看所有sentinal对数量是否达成了一致2. s原创 2020-07-06 06:33:34 · 445 阅读 · 0 评论 -
【Redis主从架构】搭建经典的3节点哨兵集群
1. 哨兵配置文件位于redis解压根目录下:sentinel.conf最小配置每一个哨兵都可以去监控多个master-slaves的主从架构因为生产环境一般会部署多个master-slaves的redis主从集群相同的一套哨兵集群,可以去监控不同的多个redis主从集群。你可以给每个redis主从集群分配一个逻辑的名称:sentinel monitor mymaster 127.0.0.1 6379 2sentinel down-after-milliseconds mymast原创 2020-07-06 06:25:09 · 1340 阅读 · 0 评论 -
【Redis主从架构】redis哨兵核心原理的深入解析(包括slave选举算法)
10.【Redis主从架构】redis哨兵核心原理的深入解析(包括slave选举算法)1. sdown和odown转换机制1.1 sdown-主观宕机sdown是主观宕机,就一个哨兵如果自己觉得一个master宕机了,那么就是主观宕机了。主观宕机原理:sdown 达成的条件很简单,如果一个哨兵ping一个master,超过 is-master-down-after-milliseconds指定毫秒数之后,如果还没有响应,就主观认为master宕机了。1.2 odown-客官宕机odo原创 2020-07-06 06:09:06 · 753 阅读 · 0 评论 -
【Redis主从架构】Redis哨兵主备切换时数据丢失问题:异步复制,集群脑裂
9. 【Redis主从架构】Redis哨兵主备切换时数据丢失问题:异步复制,集群脑裂redis哨兵主备切换两种数据丢失的情况解决异步复制和脑裂导致的数据丢失1. 两种导致数据丢失的情况1.1 异步复制导致数据丢失因为 master -> slave的复制都是异步的,所以有可能出现master内存中的部分数据来不及复制到slave上,master就宕机了,随后通过哨兵执行主备切换,导致这部分数据丢失。1.2 脑裂导致的数据丢失脑裂脑裂:某个master所在的机器突然脱离了原创 2020-06-22 07:38:37 · 1060 阅读 · 0 评论 -
【Redis主从架构】哨兵基础知识
8. 【Redis主从架构】哨兵基础知识文章目录8. 【Redis主从架构】哨兵基础知识1. 哨兵介绍1.1 哨兵主要功能2 哨兵集群2.1 哨兵集群工作原理3. 哨兵的核心知识4. 为什么redis哨兵集群只有2个节点无法正常工作4. 经典的3节点哨兵集群1. 哨兵介绍sentinal, 中文名是哨兵,哨兵是redis集群架构中非常重要的一个组件。1.1 哨兵主要功能(1)集群监控,负责监控redis master 和 slave 进程是否正常工作。(2)消息通知,如果某个redis实例原创 2020-06-08 07:59:44 · 296 阅读 · 0 评论 -
【Redis主从架构】Redis主从如何做到99.99%高可用
【Redis主从架构】Redis主从如何做到99.99%高可用1. 什么是系统99.99高可用?如果你的系统可以保证全年,99.99%的事件内,都是处于高可用的状态,那么就可以称为高可用99.9, 99% 都可以统称为高可用80%可用,低可用性定义:如果说你的系统可以保证在全年,99.99%的时间内,都是处于可用状态的,那么就可以称之为高可用性2. 什么是系统不可用?1. 机器死机了,宕机了2. jvm进程OOM了,挂了3. 机器CPU打满了,不工作了。4. 磁盘满了,系统各种I原创 2020-05-30 23:15:01 · 392 阅读 · 0 评论 -
【Redis主从架构】搭建一个一主一从的Redis主从架构
5. 【Redis主从架构】搭建一个一主一从的Redis主从架构1. 学习目标搭建一个一主一从的Redis主从架构。主节点去写,从节点去读,如果在主节点写入数据之后,从节点能读取到,就说明搭建成功了。2. 搭建 redis slave node2.1 安装tcl#1. 下载tcl安装包wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz#2. 解压tcl8.6.1-src.tar.gztar -zxvf tc原创 2020-05-23 19:17:21 · 872 阅读 · 0 评论 -
【Redis主从架构】Redis replication完整流程和深入讲解
4. 【Redis主从架构】Redis replication完整流程和深入讲解1. Replication完整复制流程slave node启动,仅仅保存 master node 的信息,包括 master node 的host和ip,但是复制流程还没有开始,master host和ip从哪里来,redis.conf里面的slaveof配置的。salve node 内部有个定时任务,每秒检查是否有master node要连接和复制,如果发现, slave node 就跟 master node原创 2020-05-23 16:15:25 · 407 阅读 · 0 评论 -
【Redis主从架构】Redis主从复制原理,断点续传,无磁盘化复制,key过期处理
3. 【Redis主从架构】Redis主从复制原理,断点续传,无磁盘化复制,key过期处理文章目录3. 【Redis主从架构】Redis主从复制原理,断点续传,无磁盘化复制,key过期处理1. Redis主从架构数据复制原理2. 主从复制断点续传3. 无磁盘化复制4. 过期key处理1. Redis主从架构数据复制原理当启动一个slave node的时候,它会发送一个PSYNC命令给master node节点,master node同时触发一次full resynchronization。开原创 2020-05-20 06:59:56 · 408 阅读 · 0 评论 -
【Redis主从架构】Redis replication以及master持久化对主从架构的意义
2. 【Redis主从架构】Redis replication以及master持久化对主从架构的意义1. 图解Redis的replication原理2. Redis rplication的核心机制redis采用异步的方式复制数据到slave节点,redis2.8之后,salve node会周期性的确认自己每次复制的数据量。一个master node可以有多个slave node;slave node 可以连接其他 salve node;slave node 进行数据复制的时候,原创 2020-05-20 06:55:50 · 290 阅读 · 0 评论 -
【Redis主从架构】1. Redis如何支撑高并发
1. 【Redis主从架构】Redis如何支撑高并发文章目录1. 【Redis主从架构】Redis如何支撑高并发1. 学习内容2. Redis高并发和系统的高并发有什么关系?2. Redis的瓶颈在哪呢?3. Redis如何支持高并发?1. 学习内容(1)Redis高并发和系统的高并发有什么关系?(2)Redis如何支撑高并发?2. Redis高并发和系统的高并发有什么关系?大型电商系统中,像商城首页,商品详情页,高峰时期,QPS可以到达10万,百万,甚至上千万,无论是单独靠数据库还是Red原创 2020-05-18 07:49:16 · 201 阅读 · 0 评论 -
【Redis安装】单机版Redis下载、安装以及生产环境启动方案
【Redis安装】单机版Redis下载、安装以及生产环境启动方案1. 安装单机版redis1.1 wget安装# 验证centos系统中wget是否安装rpm -qa|grep "wget"# 安装wegetyum install wget1.2 安装tcl# 下载tclwget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz# 解压tcltar -xzvf tcl8.6.1-src.tar.gzcd /原创 2020-05-18 07:42:04 · 180 阅读 · 0 评论 -
【Redis持久化】Redis企业级数据备份方案
【Redis持久化】Redis企业级数据备份方案9.1 redis数据备份方案写crontab定时调度脚本去做数据备份每小时cop一份rdb的备份,到一个目录中,仅仅保留最近48小时的备份每天保留一份当日的rdb的备份,到一个目录中,仅仅保留最近一个月的备份。每次copy备份的时候,都把旧的备份数据删除。每天晚上将当前服务器上所有的数据备份,发送到一份到远程服务器上去。9.2 每...原创 2019-11-16 18:26:20 · 221 阅读 · 0 评论 -
【Redis持久化】AOF持久化实验
【Redis持久化】AOF持久化实验1. 单机版Redis下载、安装以及生产环境启动方案文章目录【Redis持久化】AOF持久化实验8.1 学习内容8.2 AOF持久化配置8.2.1 配置打开AOF持久化8.2.2 配置AOF同步策略(共三种)8.3 AOF持久化实战8.4 AOF rewrite8.4.1 配置rewrite策略8.4.2 rewrite 原理8.5 AOF破损文件的修复8....原创 2019-11-16 18:24:02 · 225 阅读 · 0 评论 -
【Redis持久化】 RDB持久化实验
【Redis持久化】 RDB持久化实验1. 单机版Redis下载、安装以及生产环境启动方案文章目录【Redis持久化】 RDB持久化实验1.1 学习内容1.2 如何配置RDB持久化1.3 RDB持久化工作原理1.4 rdb持久化实验1.1 学习内容如何配置RDB持久化RDB持久化原理基于RDB持久化实验1.2 如何配置RDB持久化采用之前部署的6379端口的Redis#...原创 2019-11-16 18:16:16 · 283 阅读 · 0 评论 -
【Redis持久化】AOF和RDB应该如何选择
【Redis持久化】AOF和RDB应该如何选择不要仅仅使用RDB,因为那样会导致你丢失更多的数据。RDB备份的频率相对没有那么频繁。(RDB会丢失更多的数据)RDB数据丢失示意图也不要仅仅使用AOF,第一:通过AOF做冷备,没有RDB做冷备恢复的速度快。第二:RDB每次简单粗暴生成数据快照,更加健壮,可以避免AOF复杂的备份和恢复机制bug。(AOF的数据恢复速度没有RDB来的快,...原创 2019-11-16 18:04:51 · 1069 阅读 · 0 评论 -
【Redis持久化】:RDB持久化机制
【Redis持久化】:RDB持久化机制1. RDB持久化机制简介RDB持久化机制:对Redis中的数据进行周期性的持久化。通过RDB机制,可以将Redis中的数据持久化到磁盘中来,且可以将持久化文件同步或备份到云端。2. RDB持久化机制的优点RDB会生成多个数据文件,每个文件都代表Redis某一时刻Redis中的数据,非常适合做冷备,可以将完整的数据文件发送到远程的安全存储上去。...原创 2019-11-16 17:58:40 · 419 阅读 · 0 评论 -
【Redis持久化】AOF持久化机制
【Redis持久化】AOF持久化机制4.1 AOF持久化简介AOF持久化机制: 对 每条写入的命令 作为日志,以 append-only的模式 写入到一个日志文件中。在Redis重启的时候,可以通过 回放AOF日志文件中的写入命令 重新构建整个数据集4.2 AOF持久化的优点AOF可以保证更少的数据不丢失,因为他备份的频率比较高,且不会影响Redis正常提供服务,通过每隔1秒,会通...原创 2019-11-16 17:54:41 · 203 阅读 · 0 评论 -
【Redis持久化】:Redis持久化的意义
【Redis持久化】:Redis持久化的意义1. Redis持久化的意义Redis作为分布式缓存架构中重要的一环,用于保存一些较为重要的数据,抗住系统的高并发访问。因此Redis中的数据必须持久化,防止服务或系统宕机导致数据丢失。2. Redis持久化方式如果我们可以持久化一份数据到在磁盘上,或者是定期同步和备份到云存储服务上去,那么就可以保证数据不丢失全部,还是可以恢复一部分数据回来...原创 2019-11-16 17:23:24 · 1306 阅读 · 0 评论 -
【Redis缓存架构】单机版Redis下载、安装以及生产环境启动方案
【Redis实战-单机版Redis安装】单机版Redis下载、安装以及生产环境启动方案1. 安装单机版redis1.1 wget安装# 验证centos系统中wget是否安装rpm -qa|grep "wget"# 安装wegetyum install wget1.2 安装tcl# 下载tclwget http://downloads.sourceforge.net/tc...原创 2019-10-24 07:28:10 · 410 阅读 · 0 评论