首页 > 技术文章 > 高并发下Redis防止数据穿透

bihuijia 2021-07-06 17:38 原文

引用自:https://blog.csdn.net/qq_42413053/article/details/111463945

 

解决Redis高并发下数据库穿透问题
使用synchronized同步锁
假如上万或数十万个请求 同时 请求一个接口,接口中从redis中查询相应信息。如果redis查询结果为空,就回去查数据库,应为是在高并发情况下,所以会多次查数据库,有可能是成千上万次。
错误示例:

 

 


这会使数据库的一压力会非常大。这时我们就用synchronize同步锁来解决。
一万个请求同时进来,只有一个请求拿到锁,只有这个请求释放锁之后其他请求才能进来。一个请求进来之后,会去查一次数据库并吧查询结果存入redis中。然后释放锁,然后下一个请求就会进来,这时就会查到redis中有数据,就不会再去查数据库了。等下一个高并发请求过来之后就会直接从redis中查。这样就查了一次数据库,很好的解决了数据库穿透问题。
正确示例:

 

 


————————————————
版权声明:本文为CSDN博主「『毅』」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42413053/article/details/111463945

推荐阅读