Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
BeardLeon committed Sep 30, 2023
1 parent de3bde6 commit 9bab0b7
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 5 deletions.
3 changes: 1 addition & 2 deletions index.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Leon Hugo</title><link>http://beardleon.github.io/</link><description>Recent content on Leon Hugo</description><generator>Hugo -- gohugo.io</generator><language>en-zh</language><lastBuildDate>Wed, 31 May 2023 15:00:00 +0000</lastBuildDate><atom:link href="http://beardleon.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>My Intro</title><link>http://beardleon.github.io/posts/first/</link><pubDate>Wed, 31 May 2023 15:00:00 +0000</pubDate><guid>http://beardleon.github.io/posts/first/</guid><description>Hi Everyone Hi There is Beard Leon, who‘s a James Harden&amp;rsquo;s fan.
Desc Contact End Bye-Bye.</description></item><item><title/><link>http://beardleon.github.io/posts/hugo-in-mid-autumn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://beardleon.github.io/posts/hugo-in-mid-autumn/</guid><description>大家好,现在是2023年9月30日。
祝福大家中秋国庆双节快乐,一切顺利!</description></item><item><title>深入浅出走进Redis</title><link>http://beardleon.github.io/posts/notes/redis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://beardleon.github.io/posts/notes/redis/</guid><description>Redis 深入浅出走进Redis https://mp.weixin.qq.com/s/ThVtw8TVuhxIyYxJy6sOWw 缓存穿透(redis无key)-压垮数据库 cache penetration (刺穿)
Desc Contact End Bye-Bye.</description></item><item><title>深入浅出走进Redis</title><link>http://beardleon.github.io/posts/notes/redis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://beardleon.github.io/posts/notes/redis/</guid><description>Redis 深入浅出走进Redis https://mp.weixin.qq.com/s/ThVtw8TVuhxIyYxJy6sOWw 缓存穿透(redis无key)-压垮数据库 cache penetration (刺穿)
问题描述:key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会压到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。
解决方案:(1)对空值缓存:如果一个查询返回的数据为空(不管是数据是否不存在),我们仍然把这个空结果(null)进行缓存,设置空结果的过期时间会很短,最长不超过五分钟。(2)设置可访问的名单(白名单):使用bitmaps类型定义一个可以访问的名单,名单id作为bitmaps的偏移量,每次访问和bitmap里面的id进行比较,如果访问id不在bitmaps里面,进行拦截,不允许访问。(3)采用布隆过滤器:将所有可能存在的数据哈希到一个足够大的bitmaps中,一个一定不存在的数据会被 这个bitmaps拦截掉,从而避免了对底层存储系统的查询压力。(加一层防护判断)(4)进行实时监控:当发现Redis的命中率开始急速降低,需要排查访问对象和访问的数据,和运维人员配合,可以设置黑名单限制服务。
缓存击穿(redis热点key突然过期)-大量并发访问单key-被击穿数据库 cache breakdown
Expand Down
3 changes: 1 addition & 2 deletions posts/index.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Leon Hugo</title><link>http://beardleon.github.io/posts/</link><description>Recent content in Posts on Leon Hugo</description><generator>Hugo -- gohugo.io</generator><language>en-zh</language><lastBuildDate>Wed, 31 May 2023 15:00:00 +0000</lastBuildDate><atom:link href="http://beardleon.github.io/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>My Intro</title><link>http://beardleon.github.io/posts/first/</link><pubDate>Wed, 31 May 2023 15:00:00 +0000</pubDate><guid>http://beardleon.github.io/posts/first/</guid><description>Hi Everyone Hi There is Beard Leon, who‘s a James Harden&amp;rsquo;s fan.
Desc Contact End Bye-Bye.</description></item><item><title/><link>http://beardleon.github.io/posts/hugo-in-mid-autumn/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://beardleon.github.io/posts/hugo-in-mid-autumn/</guid><description>大家好,现在是2023年9月30日。
祝福大家中秋国庆双节快乐,一切顺利!</description></item><item><title>深入浅出走进Redis</title><link>http://beardleon.github.io/posts/notes/redis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://beardleon.github.io/posts/notes/redis/</guid><description>Redis 深入浅出走进Redis https://mp.weixin.qq.com/s/ThVtw8TVuhxIyYxJy6sOWw 缓存穿透(redis无key)-压垮数据库 cache penetration (刺穿)
Desc Contact End Bye-Bye.</description></item><item><title>深入浅出走进Redis</title><link>http://beardleon.github.io/posts/notes/redis/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://beardleon.github.io/posts/notes/redis/</guid><description>Redis 深入浅出走进Redis https://mp.weixin.qq.com/s/ThVtw8TVuhxIyYxJy6sOWw 缓存穿透(redis无key)-压垮数据库 cache penetration (刺穿)
问题描述:key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会压到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。
解决方案:(1)对空值缓存:如果一个查询返回的数据为空(不管是数据是否不存在),我们仍然把这个空结果(null)进行缓存,设置空结果的过期时间会很短,最长不超过五分钟。(2)设置可访问的名单(白名单):使用bitmaps类型定义一个可以访问的名单,名单id作为bitmaps的偏移量,每次访问和bitmap里面的id进行比较,如果访问id不在bitmaps里面,进行拦截,不允许访问。(3)采用布隆过滤器:将所有可能存在的数据哈希到一个足够大的bitmaps中,一个一定不存在的数据会被 这个bitmaps拦截掉,从而避免了对底层存储系统的查询压力。(加一层防护判断)(4)进行实时监控:当发现Redis的命中率开始急速降低,需要排查访问对象和访问的数据,和运维人员配合,可以设置黑名单限制服务。
缓存击穿(redis热点key突然过期)-大量并发访问单key-被击穿数据库 cache breakdown
Expand Down
2 changes: 1 addition & 1 deletion sitemap.xml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>http://beardleon.github.io/categories/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/tags/intro/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/categories/intro/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/posts/first/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/posts/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/tags/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/posts/hugo-in-mid-autumn/</loc></url><url><loc>http://beardleon.github.io/categories/notes/</loc></url><url><loc>http://beardleon.github.io/tags/redis/</loc></url><url><loc>http://beardleon.github.io/posts/notes/redis/</loc></url></urlset>
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>http://beardleon.github.io/categories/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/tags/intro/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/categories/intro/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/posts/first/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/posts/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/tags/</loc><lastmod>2023-05-31T15:00:00+00:00</lastmod></url><url><loc>http://beardleon.github.io/categories/notes/</loc></url><url><loc>http://beardleon.github.io/tags/redis/</loc></url><url><loc>http://beardleon.github.io/posts/notes/redis/</loc></url></urlset>

0 comments on commit 9bab0b7

Please sign in to comment.