首页 > 数据库 >Redis篇

Redis篇

时间:2024-10-26 18:20:04浏览次数:5  
标签:场景 Redis redis 面试 缓存 问答

Redis篇

redis使用场景-缓存-缓存穿透

image-20241022213844469

解决方案一:缓存空数据

image-20241022214024205

解决方案二:布隆过滤器

image-20241022220210991

布隆过滤器的介绍

image-20241022220345897

image-20241022220419176

image-20241022220605043

image-20241022220636120

image-20241022220700075

面试问答

image-20241023110643022

redis使用场景-缓存-缓存击穿

image-20241022221247768

两种解决方案:

1)互斥锁

2)逻辑过期

两种解决方案:互斥锁/逻辑过期

image-20241022221813254

上述两者对比:

image-20241022221935945

对于容错率低的场景,比如银行等采用互斥锁,其满足强一致性,缺点是性能差。

面试问答

image-20241023110906769

redis使用场景-缓存-缓存雪崩

解决方案

image-20241022222757852

面试问答

image-20241023111241721

redis使用场景-缓存-双写一致性

image-20241022223420253

image-20241022224038017

image-20241022224209128

image-20241022223906712

强一致性-采用Redisson提供的读写锁

image-20241022224827858

允许延时一致的业务-异步通知保证数据的最终一致性

image-20241022225138717

允许延时一致的业务-基于Canal的异步通知

image-20241022225311033

面试问答

image-20241023093843700

强一致性的回答

image-20241023094448257

允许延时一致的回答

image-20241023094536891

redis使用场景-缓存-持久化

image-20241023101334646

RDB

image-20241023101639698

image-20241023102314723

AOF

image-20241023104213311

image-20241023104731933

疑问:redis中AOF方式下,everysec为什么会丢失一秒的数据

​ 如果在某一秒内,Redis已经将数据写入缓冲区但还未执行fsync操作时系统发生故障(如断电、崩溃、Redis进程被意外终止等),那么这一秒的数据由于只存在于内存缓存区中,未持久化到磁盘而导致数据丢失。

触发重写规则

image-20241023105853512

RDB和AOF对比

image-20241023110044751

面试问答

image-20241023110424784

redis使用场景-缓存-数据过期策略

image-20241023112030461

惰性删除

image-20241023112336509

定期删除

image-20241023112552042

Redis使用的策略

image-20241023112634926

面试问答

image-20241023112740709

redis使用场景-缓存-数据淘汰策略

image-20241023113451545

数据淘汰策略-使用建议

image-20241023113737809

面试问答

image-20241023113933714

image-20241023114033636

redis分布式锁-使用场景

image-20241023114322629

以抢劵场景为例进行分析

image-20241023114858880

对于单体项目分析

这种情况下加个synchronized是没有问题的,它是属于本地的锁

image-20241023115010423

服务集群部署分析

image-20241023115213183

使用synchronized就解决不了,需要使用分布式锁

image-20241023115326123

image-20241023115459879

redis分布式锁-实现原理

内容

image-20241026140000388

执行流程

image-20241026140759291

redisson实现的分布式锁-可重入

image-20241026141530360

img

流程图

image-20241026165433550

redisson实现的分布式锁-主从一致性

image-20241026141727518

image-20241026141935989

面试问答

image-20241026142213622

image-20241026142912843

redis集群-相关面试题

image-20241026165931373

主从复制

image-20241026170134110

主从全量同步

image-20241026170806553

主从增量同步

image-20241026171022403

面试问答

image-20241026171221160

image-20241026171242910

哨兵模式

哨兵的作用

image-20241026171521657

服务状态监测

image-20241026171742988

哨兵模式的脑裂问题

image-20241026172125794

image-20241026172205668

面试问答

image-20241026172521109

image-20241026172601390

分片集群结构

image-20241026173057000

数据读写

image-20241026173326326

面试问答

image-20241026173517591

image-20241026173536420

redis是单线程,为什么这么快?

image-20241026173858125

用户空间和内核空间

image-20241026174547892

阻塞IO

image-20241026174917703

非阻塞IO

image-20241026175617898

IO多路复用

image-20241026180045310

IO多路复用的实现方式

image-20241026180321120

Redis网络模型

image-20241026180633296

面试问答

image-20241026180858655

image-20241026180912773

标签:场景,Redis,redis,面试,缓存,问答
From: https://www.cnblogs.com/tcl-study/p/18504317

相关文章

  • (已解决!!!非常详细)无法连接redis服务器
    问题:写springboot项目连接redis失败,报错如下:也可能有其他报错,反正就是连接不上发现能连接上虚拟机,但是连接不上redis上网寻求解决方法,发现一些文章比较乱不是很容易理解,所以总结了一下网上的方法成功解决前提:已经在vmware安装好centos,并且已经安装了redis且能运行,使用p......
  • 简单说说 redis主从同步原理
    主从同步分为以下几个情况1从节点和主节点建立连接时进行全量同步2从节点和主节点正常运行时同步3从节点和主节点断开连接后重新连接进行全量或者增量同步从节点和主节点建立连接时同步1从节点向主节点发生psyncrepIdoffsetId,其中repId是主节点标识,offsetId代表偏移......
  • Redis & 事务 & 总结
    前言 相关系列《Redis&目录》(持续更新)《Redis&事务&源码》(学习过程/多有漏误/仅作参考/不再更新)《Redis&事务&总结》(学习总结/最新最准/持续更新)《Redis&事务&问题》(学习解答/持续更新)  参考文献《Redis事务详解》  概述    Redis事务并......
  • Redis5.0.10集群搭建
    参考文档https://www.cnblogs.com/hmwh/p/10289138.htmlhttps://www.cnblogs.com/zgqbky/p/11792141.html以下操作均需在每台服务器上执行安装依赖关系yuminstallmakezlibopenssl*ImageMagick-develgcc*rubygems-y2、创建节点目录mkdir-p/opt/app/redis-cluste......
  • Redis4.0.12集群搭建
    服务器:节点1:10.10.175.55 端口:6379/7379节点2:10.10.175.56 端口:6379/7379节点3:10.10.175.57 端口:6379/7379以下操作均需在每台服务器上执行安装依赖关系yuminstallmakezlibopenssl*ImageMagick-develgcc*rubygems-y2、创建节点目录mkdir-p/usr/local/redis-cl......
  • Redis的基础命令
    一、数据库操作命令1.redis中库的说明redis中的库默认存在16个库,分别按照0-15来排列选择库的命令:select0-15例如:select1就是选择一号库的意思2.清空表的命令1.清除当前表:flushdb2.清除所有表:flushall3.redis中客户端显示中文./redis-cli-p7000--raw二、操作key相......
  • Redis的详细安装教程和环境变量配置(附有详细步骤讲解及相关操作截图和代码)
    NoSQL简介NoSQL数据库是一种非关系型数据库,它在处理大规模、高并发的动态网站数据时具有明显优势。NoSQL数据库的出现是为了解决传统关系数据库在处理大数据量和高并发请求时遇到的性能瓶颈。NoSQL数据库的设计允许它们在分布式环境中更有效地扩展,同时提供灵活的数据模型来适应不......
  • redis数据库操作指令
    一、数据库操作指令2、redis中库说明对于一个redis服务而言,包含默认有16个数据库给我们使用,从0开始编号,共15号数据库,默认使用的是0号数据库切换库,select库号举例:使用1号库:select1库和库之间数据不共享库和库之间的键可以重名2、redis中清空库的指令清空当前库flush......
  • Redis
    Redis基础是什么(定义,特点)开源的基于内存的数据库(内疚多缘分)基于内存:读写速度快,适用于高性能应用场景,如缓存持久化:把数据存储到磁盘,方式有AOF日志,RDB快照等多数据结构:列表、哈希、集合等,灵活的应对不同场景原子性操作:支持原子性操作,维护并发环境下数据一致性分布式:提供......
  • Redis面试题扩展
    一、redis特性1、内存数据快,快,很快...2、工作单线程worker,串行化、原子操作,(IO线程是多线程)-避免上下文切换3、IO模型(epoll),天生支撑高并发4、kv模型,v具有类型结构5、具有本地方法,计算向数据移动。(a,b)=>交集6、二进制安全,Value最大512M二、Redis是单线程还是多线......