当前位置:网站首页>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 .
边栏推荐
- Jenkins basic knowledge ----- detailed explanation of 03pipeline code
- Era5 reanalysis data download strategy
- 【paddle】加载模型权重后预测报错AttributeError: ‘Model‘ object has no attribute ‘_place‘
- Atcoder beginer contest 233 (a~d) solution
- A copy can also produce flowers
- 【Unity3D】GUI控件
- 深度解析指针与数组笔试题
- [ruoyi] enable Mini navigation bar
- What are the principles of software design (OCP)
- 2022工作中遇到的问题四
猜你喜欢
[Yu Yue education] basic reference materials of digital electronic technology of Xi'an University of Technology
My C language learning record (blue bridge) -- on the pointer
Force buckle 146 LRU cache
【Kubernetes 系列】一文学会Kubernetes Service安全的暴露应用
Analyze 菜单分析
Apt installation ZABBIX
Reverse repackaging of wechat applet
Which ecology is better, such as Mi family, graffiti, hilink, zhiting, etc? Analysis of five mainstream smart brands
淘宝焦点图布局实战
电机控制反Park变换和反Clarke变换公式推导
随机推荐
Misc (eternal night), the preliminary competition of the innovation practice competition of the National College Students' information security competition
继承day01
RobotFramework入门(三)WebUI自动化之百度搜索
Rust language -- iterators and closures
[kubernetes series] learn the exposed application of kubernetes service security
MySQL learning notes-10-tablespace recycling
Daily question brushing plan-2-13 fingertip life
Introduction to robotframework (III) Baidu search of webui automation
微服务注册与发现
[pointer training - eight questions]
[unity3d] GUI control
Taobao focus map layout practice
CSP date calculation
Solve 9 with C language × 9 Sudoku (personal test available) (thinking analysis)
Handwriting database client
【Unity3D】GUI控件
如何做好功能测试
Linear regression and logistic regression
codeforces每日5题(均1700)-第六天
2.12 simulation