【实战问题】-- 布隆过滤器的三种实践:手写,Redission以及Guava(2)

发布于 2021-05-13

前面我们已经讲过布隆过滤器的原理【实战问题】-- 缓存穿透之布隆过滤器(1),都理解是这么运行的,那么一般我们使用布隆过滤器,是怎么去使用呢?如果自己去实现,又是怎么实现呢?布隆过滤器手写布隆过滤器Redis实现Google GUAVA实现关于作者布隆过滤器再念一次定义:布隆过滤器(Bloom Fi

0 条评论
173 热度

【实战问题】-- 缓存穿透之布隆过滤器(1)

发布于 2021-03-27

前面我们提到,在防止缓存穿透的情况(缓存穿透是指,缓存和数据库都没有的数据,被大量请求,比如订单号不可能为-1,但是用户请求了大量订单号为-1的数据,由于数据不存在,缓存就也不会存在该数据,所有的请求都会直接穿透到数据库。),我们可以考虑使用布隆过滤器,来过滤掉绝对不存于集合中的元素。布隆过滤器是什

0 条评论
188 热度

【实战问题】-- 缓存穿透,缓存击穿和缓存雪崩的区别以及解决方案

发布于 2021-03-22

平时我们使用缓存的方案,一般是在数据库中存储一份,在缓存中同步存储一份。当请求过来的视乎,可以先从缓存中取数据,如果有数据,直接返回缓存中的结果。如果缓存中没有数据,那么去数据库中取出数据,同时更新到缓存中,返回结果。如果数据库中也没有数据,可以直接返回空。关于缓存,一般会有以下几个常见的问题缓存穿

0 条评论
162 热度

【实战问题】-- 并发的时候分布式锁setnx细节

发布于 2021-03-19

前面讲解到实战问题】--设计礼品领取的架构设计以及多次领取现象解决?,如果出现网络延迟的情况下,多个请求阻塞,那么恶意攻击就可以全部请求领取接口成功,而针对这种做法,我们使用setnx来解决,确保只有一个请求可以进入接口请求。publicStringreceiveGitf(intactivityId

0 条评论
274 热度