redis缓存 redis缓存的作用
2025-03-23 00:31 - 立有生活网
大家好我是小周,redis缓存,关于redis缓存的作用很多人还不知道,那么现在让我们一起来看看吧!
redis缓存 redis缓存的作用
redis缓存 redis缓存的作用
redis缓存 redis缓存的作用
1、InliJ IDEA缓存技术可以用来减轻数据库的压力,提升访问效率。
2、目前在企业项目中对缓存也是越来越重视。
3、但是缓存不是说随随便便加入项目就可以了。
4、将缓存整合到项目中,这才是步。
5、而缓存带来的穿透问题,进而导致的雪蹦问题都是我们迫切需要解决的问题。
6、本篇文章将我平时项目中的解决方案分享给大家,以供参考。
7、无论MySQL还是Redis,自身都带有数据同步的机制,比较常用的MySQL的Master/Sle模式,就是由Sle端分析Master的binlog来实现的,这样的数据其实还是一个异步过程,只不过当都在同一内网时,异步的延迟几乎可以忽略。
8、一、缓存穿透的原理缓存的正常使用如图:2、如果缓存中没有数据,就会访问数据库。
9、这里面就会存在一个BUG,如图:如图,缓存就像是数据库的一道防火墙,将请求比较频繁的数据放到缓存中,从而减轻数据库的压力。
10、 但是如果有人恶意攻击,那就很轻松的穿透你的缓存,将所有的压力都给数据库。
11、比如上图,你缓存的key都是正整数,但是我偏偏使用负数作为key访问你的缓存,这样就会导致穿透缓存,将压力直接给数据库。
12、二、导致缓存穿透的原因缓存穿透的问题,肯定是再大并况下。
13、依此为前提,我们分析缓存穿透的原因如下:1、恶意攻击,猜测你的key命名方式,然后估计使用一个你缓存中不会有的key进行访问。
14、2、次数据访问,这时缓存中还没有数据,则并发场景下,所有的请求都会压到数据库。
15、3、数据库的数据也是空,这样即使访问了数据库,也是获取不到数据,那么缓存中肯定也没有对应的数据。
16、这样也会导致穿透。
17、三、解决缓存穿透缓存穿透在于一步步规避穿透的原因,如图:如上图所示,解决的步骤如下:1、再web启动时,提前将有可能被频繁并发访问的数据写入缓存。
18、—这样就规避大量的请求在第3步出现排队阻塞。
19、2、规范key的命名,并且统一缓存查询和写入的入口。
20、这样,在入口处,对key的规范进行检测。
21、_这样保存恶意的key被拦截。
22、3、Synchronized双重检测机制,这时我们就需要使用同步(Synchronized)机制,在同步代码块前查询一下缓存是否存在对应的key,然后同步代码块里面再次查询缓存里是否有要查询的key。
23、 这样“双重检测”的目的,还是避免并发场景下导致的没有意义的数据库的访问(也是一种严格避免穿透的方案)。
24、4、不管数据库中是否有数据,都在缓存中保存对应的key,值为空就行。
25、_这样是为了避免数据库中没有这个数据,导致的平凡穿透缓存对数据库进行访问。
本文到这结束,希望上面文章对大家有所帮助。
往后余生珍惜的句子 人生很短,余生很贵,好好

往后余生只要你的句子 往后余生只要你的句子 往后余生珍惜的句子 人生很短,余生很贵,好好珍惜 往后余生珍惜的句子 人生很短,余生很贵,好好珍惜 往后余生只要你的句子,往后余生,风雪是你,···
运城交警支队_运城交警支队长

醋都标志的含义? 山西清徐县发布有关机构审核批准的“醋都”标志。“醋都”标志以印章的形式,以“醋”的篆书字为主要表现元素,“醋”字以篆书字体,以印的形式表现,突出清徐造醋的历···
音节是指的什么 音节是指的什么一年级

音节和音序的区别是什么? ada 1、意思不同:整体认读音节:zhi chi shi ri zi ci si ye yi yin ying wu yu yue yun yuan。音序指音节的个字母的大写,音节指读音。是指整个拼音,包括声母、韵母和标调符号。···