首页 > 数据库 >redis高级部分

redis高级部分

时间:2024-10-30 23:31:33浏览次数:4  
标签:订阅 频道 缓存 多个 redis 高级 服务器 部分

一、Redis主从复制

主从复制架构只是用来解决数据的冗余备份,从节点只是用来同步数据

二、Redis哨兵机制(Hadoop HA)

哨兵Sentine机制

由一个或者多个哨兵(Sentinel)实例组成的Sentinel实例系统可以监视任意多个服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。简单的说哨兵就是带有自动故障转移功能的主从架构

三、Redis集群

redis集群是Redis数据库的一个分布式架构,旨在实现高可用性、可扩展性和高性能。
由多个主节点和从节点构成,每个主节点负责一定范围的哈希槽,从节点主要负责对数据的备份

四、穿透,雪崩,击穿

1.穿透

指的是用户查询时,redis中没有该数据,mysql中也没有,要查询的数据根本不存在

解决方案

最常用的:1.对空值进行缓存,这样当请求到达redis的时候,会直接返回一个null值,避免了再去访问数据库。

2.雪崩

指的是redis中大量的键过期,导致用户访问的这些过期数据需要去到数据库中查询

解决方案

最常用的:1.使用互斥锁:当多个请求访问这些过期数据的时候,只允许一个请求去访问数据库并查询,其他请求等待,并将查到的结果共享
2.设置多级架构缓存,添加多个缓存,这样请求就会先查第一层缓存,没有再去查第二层缓存,减少请求直接访问数据库(需要启动多个缓存架构)

3.击穿

指的是一个热点数据过期,但是仍然有大量用户去访问这个数据

解决方案

最常用的:1.监控数据,适时调整,监控哪些数据是热门的,实时调整key的过期时长
2.引入多级缓存,还有就是针对热点数据,可以提前进行预加载

五、发布订阅

有两种发布订阅模式

1.基于频道的发布订阅(Channel)

同一消息可以被多个订阅者订阅,也可以被取消
subscribe订阅一个或多个给定的频道
unsubscribe退订给定的频道

2.基于模式的发布订阅(pattern)

订阅者可以订阅所有(以某某名字)的频道
psubscribe订阅一个或多个给定模式的频道
punsubscribe退订所有给定模式的频道

标签:订阅,频道,缓存,多个,redis,高级,服务器,部分
From: https://www.cnblogs.com/ndmtzwdx/p/18516831

相关文章

  • redis 命令
    数据库操作指令查看当前数据库中的所有键key*1.对于一个redis服务而言,包含默认有16个数据库给我们使用,从0开始编号,共15号数据库,默认使用的是0号数据库切换库,select库号举例:使用1号库:select1库和库之间数据不共享库和库之间的键可以重名2.Redis中清空库的指令清空当......
  • redis中知识以及面试题
    一、非关系型数据库NoSql如下四种类型都是非关系型数据库1.键值存储数据库(Key-Value)如redis,就是键值存储数据库2.列存储数据库如clickhouse是列存储3.文档型数据库4.图形数据库(Graph)二、redis的特点redis是一个高性能的非关系型数据库,其中的所有数据形式都是以键值对的方......
  • 2024CCPC哈尔滨部分题解
    赛时被评测机卡死了M.奇怪的上取整求\(\sum_{i=1}^{n}f(n,i)\)\(Input\)第一行一个整数\(T(1<=T<=10^3)\),表示数据组数对于每组数据,一行一个整数\(n(1<=n<=10^9)\)\(Output\)对于每组数据,输出一行一个整数,表示答案。\(Sample\)35451114514————————21T10......
  • 第一部分:大数据概述
    目录一、大数据是什么1.什么是“大数据”?2.数据规模3.现代大数据的应用4.大数据的特征——5V(IBM提出)5.大数据的问题与解决方案1>理论分析2>实际应用二、什么是Hadoop和Hadoop生态系统?1.Hadoop2.Hadoop的起源与发展历程3.Hadoop生态系统三、大数据平台架构1.......
  • Java面试题中高级进阶(JVM篇01)
    前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!说说堆和栈的区别?什么时候会触发FullGC?什么是Java虚拟机?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘***12万字的java面试题整理***说说堆和栈的区别栈是运行时单位,代表着逻辑,内含基本数据类型和......
  • Java面试题中高级进阶(JVM篇01)
    前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!说说堆和栈的区别?什么时候会触发FullGC?什么是Java虚拟机?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘***12万字的java面试题整理***说说堆和栈的区别栈是运行时单位,代表着逻辑,内含基本数据类型和堆中对......
  • redis 安装
    什么是Redis总结:redis是一个内存型的数据库Redis特点(面试必问)-Redis是一个高性能key/value内存型数据库在redis中,所有的数据形式都是以键值对的方式来存储的-Redis支持丰富的数据类型string,list,set,sortedset,hash指的是键值对中的值的类型-Redis支持持......
  • Redisson 使用示例
    Redisson是一个Java的Redis客户端,基于Redis实现了许多分布式数据结构和功能,例如分布式锁、缓存、限流器、布隆过滤器等。以下是一些常见的Redisson使用示例,来自ChatGPT,用于自学。Redisson提供了 RLock 接口用于实现分布式锁,适用于需要同步访问共享资源的分布式应用......
  • 《程序员修炼之道:从小工到专家》第五、六、七部分读后感
    《程序员修炼之道:从小工到专家》的第五部分为我展现了编程世界中关于工具与技术的更广阔视野,让我对如何更好地运用工具以及理解技术的本质有了深刻的感悟。这部分强调了工具的正确使用方式。它提醒我们不要盲目追求最新最炫的工具,而是要根据实际项目需求来选择合适的工具。工具是......
  • 《程序员修炼之道:从小工到专家》第一、二部分读后感
    在阅读了《程序员修炼之道:从小工到专家》的第一、二部分后,我深受启发。这两部分为我们奠定了成为优秀程序员的基础理念。第一部分强调了务实的态度。作为程序员,我们不能仅仅停留在理论层面,而要将知识运用到实际项目中。书中提到的“注重实效的哲学”让我认识到,在编程过程中,要以......