Redis面试常见问题有哪些

技术Redis面试常见问题有哪些本篇内容主要讲解“Redis面试常见问题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis面试常见问题有哪些”吧!1. 什么是缓存

本文主要讲解“Redis面试中有哪些常见问题”,感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习“Redis面试中有哪些常见问题”!

1. 什么是缓存雪崩?怎么解决?

Redis面试常见问题有哪些

通常,我们会使用缓存来缓冲对数据库的影响。如果缓存宕机,所有请求都会直接命中数据库,导致数据库宕机;mdash从而导致整个系统停机。

如何解决呢?

Redis面试常见问题有哪些

2 种策略(同时使用):

使缓存高度可用,以防止缓存停机。

使用断路器。如果缓存宕机,为了防止系统完全宕机,请将一些流量限制到DB中,确保一些流量可用,并将其余流量恢复到断路器的默认值。

2. 什么是缓存穿透?怎么解决?

解释 1:缓存查询一个不可用的密钥,同时也没有数据库。如果黑客广泛使用这种方法,将导致数据库宕机。

解决方案:我们可以使用默认值来防止它。例如,当访问一个不存在的键,然后访问数据库,但它仍然不存在,然后在缓存中放一个占位符,下次检查占位符。如果发生占位符,它不会进入数据库查询以防止数据库崩溃。

大量的解释 2:请求查询一个刚刚失败的键,导致DB的压力翻倍,可能导致宕机,但实际上所有的查询都是相同的数据。

解决方案:可以在这些请求代码中添加双重检查锁。但是在那个阶段的请求会变慢。但总比DB停机要好。

3. 什么是缓存并发竞争?怎么解决?

解释:多个客户写一把钥匙。如果顺序错了,数据也会错。但是我们不能控制顺序。

使用解决方案:分布式锁,如zk,并添加数据的时间戳。同时,只有抢到锁的客户端才能写。同时,在写入时,将当前数据的时间戳与缓存中的数据的时间戳进行比较。

4.什么是缓存和数据库双写不一致?怎么解决?

说明:数据库和缓存是连续写入的,但是在操作过程中出现并发,数据不一致。

通常,缓存和数据库按以下顺序更新:

首先更新数据库,然后更新缓存。

首先删除缓存,然后更新数据库。

首先更新数据库,然后删除缓存。

看看这三种方式的优缺点:

先更新数据库,再更新缓存。

问题是:当同时有两个更新数据的请求时,如果不使用分布式锁,将无法控制最后一个缓存的值。也就是并发写的时候有问题。

先删缓存,再更新数据库。

问题:如果客户端在删除缓存后读取数据,可能会读取旧数据,旧数据可能会被设置到缓存中,导致缓存中的数据始终是旧数据。

有2种解决方案:

使用“Double Delete”,即删除和删除,删除的最后一步是异步操作,即防止客户端读取旧值时设置旧值。

使用队列。当这个键不存在时,将它放入队列并连续执行。在数据库更新之前,您不能读取数据。

总的来说比较麻烦。

先更新数据库,再删除缓存

其实这个方案很常见,只是很多人不知道。这里简单介绍一下。这个方案叫做缓存备用模式,是外国人发明的。如果先更新数据库,再删除缓存,在更新数据库之前会有即时数据,不是很及时。

同时,如果更新前缓存刚好失效,读取客户端可能会读取旧值,然后在写入客户端删除后再次设置旧值,这是非常巧合的。

有两个前提条件:写前缓存会失效,同时写定制删除操作后会放置旧数据mdashmdash也就是说,阅读比写作慢。一些写操作也会锁定表。

因此,这很难出现,但如果出现了呢?使用双重删除!记录客户端在更新期间是否读取数据库,如果是,则在更新数据库后执行延迟删除。

至此,相信大家对“Redis面试中的常见问题有哪些”有了更深的理解,让我们一起来实践吧!这是网站。更多相关内容,可以去相关渠道查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/101150.html

(0)

相关推荐

  • C语言----位运算,进阶篇二十六)

    技术C语言----位运算,进阶篇二十六) C语言----位运算(进阶篇二十六)作用在小内存时代,经常把一个字节分成好几份来用,以达到节约内存的目的。现在经常用于网络数据传输,单片机领域……。注意:※在进

    礼包 2021年11月1日
  • 春城的意思,《寒食》春城……的意思

    技术春城的意思,《寒食》春城……的意思对皇都春色的陶醉和对盛世承平的歌咏。《寒食》作者春城的意思:韩翎春城无处不飞花,寒食东风御柳斜。日暮汉宫传蜡烛,轻烟散入五侯家。【译文】:春天,长安城处处飘飞着落花;寒食节,东风把御

    生活 2021年10月23日
  • 基于Arduino OpenCV的弹跳机器人是什么?

    技术基于Arduino+OpenCV的颠球机器人是怎样的本篇文章给大家分享的是有关基于Arduino+OpenCV的颠球机器人是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说

    攻略 2021年12月15日
  • STL组件之迭代器如何实现

    技术STL组件之迭代器如何实现小编给大家分享一下STL组件之迭代器如何实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!STL的一个重要特点是

    攻略 2021年12月3日
  • 抖音能刷粉吗,便宜刷抖音网站?

    技术抖音能刷粉吗,便宜刷抖音网站?首先,抖音刷粉是不违规的。这在行业内已经属于潜规则了。很多网红公司都在使用这类辅助工具。目前这类辅助工具,不违规,也不违法。可以放心使用。但是需要找到靠谱的代刷网,否则很可能被坑钱财。

    测评 2021年10月19日
  • SpringBoot配置Druid三种方式是什么

    技术SpringBoot配置Druid三种方式是什么这期内容当中小编将会给大家带来有关SpringBoot配置Druid三种方式是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。记录

    攻略 2021年10月20日