当前位置:网站首页>Redis cache breakdown, cache penetration, cache avalanche
Redis cache breakdown, cache penetration, cache avalanche
2022-07-06 03:07:00 【Attacking Xiao Wang 666】
Cache penetration
a large number of key Not in cache , The request goes directly to the database , and key It's not in the database ( Finally back to null, A meaningless query ), If hackers create such a large number of request attacks , Cache penetration may occur
Solution :
1. You can verify at the front end or back end , Filter illegal requests , For example, judge whether the request has been tampered by the summary Algorithm
2. Invalid cache key, Set a shorter effective time ( Not recommended )
3. The bloon filter , A very clever data structure , The concrete realization is :
Store all possible request values in the bloom filter , When requested by the user , First, judge whether the value exists through the bloom filter , If no error message is returned directly .
The process is as follows
When stored , Through multiple hash Function calculation , Then set the corresponding position of the bit array to 1
When comparing , The use of multiple hash The algorithm calculates the request parameters , Judge whether each element at the corresponding position in the digit group is 1, If there is any inconformity, it will be judged as fasle
Of course , Different strings may be hashed out in the same position ( You can appropriately increase the size of the digit group or adjust hash function )
Cache avalanche
It is caused by memory server downtime or simultaneous failure of a large number of hotspot caches at the same time , The request landed in the database
Solution :
1. For server downtime , It can be distributed ( Master-slave ) To improve usability , Or current limiting , Prevent a large number of requests for access at the same time
2. For hotspot cache invalidation , It can be set to never expire ( Not recommended ), Or set the expiration time randomly ( Peak staggering failure )
Cache breakdown
Cache avalanche is aimed at the situation that a large number of caches for different requests are invalidated , Cache breakdown refers to the situation that a large number of requests are the same and the cache fails
Solution :
Hotspot cache does not expire
Use mutexes , Only one request thread can reload the results into the cache after the cache expires , Other threads wait , Finally, query from the cache .
边栏推荐
猜你喜欢

Introduction to robotframework (III) Baidu search of webui automation
![[ruoyi] set theme style](/img/e9/6a6b7113faed16c3b439230806320b.png)
[ruoyi] set theme style

解决:AttributeError: ‘str‘ object has no attribute ‘decode‘

Reverse repackaging of wechat applet

I sorted out a classic interview question for my job hopping friends

Performance test method of bank core business system

银行核心业务系统性能测试方法

Installation and use tutorial of cobaltstrike-4.4-k8 modified version

PMP每日一练 | 考试不迷路-7.5

#PAT#day10
随机推荐
Game theory matlab
07 单件(Singleton)模式
[unity3d] GUI control
Inherit day01
【paddle】加载模型权重后预测报错AttributeError: ‘Model‘ object has no attribute ‘_place‘
【 kubernets series】 a Literature Study on the Safe exposure Applications of kubernets Service
Spherical lens and cylindrical lens
【Unity3D】GUI控件
#PAT#day10
Gifcam v7.0 minimalist GIF animation recording tool Chinese single file version
jsscript
How to do function test well
Introduction to robotframework (III) Baidu search of webui automation
PMP每日一练 | 考试不迷路-7.5
NR modulation 1
My C language learning record (blue bridge) -- on the pointer
Jenkins basic knowledge ----- detailed explanation of 03pipeline code
解决:AttributeError: ‘str‘ object has no attribute ‘decode‘
Codeworks 5 questions per day (1700 average) - day 6
这些不太会