数据库
首页 > 数据库> > 解决Redis高并发下数据库穿透问题

解决Redis高并发下数据库穿透问题

作者:互联网

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

 

 


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

 

标签:请求,Redis,数据库,redis,查询,并发,进来
来源: https://www.cnblogs.com/bihuijia/p/15265976.html