当前位置:   article > 正文

干货,使用布隆过滤器实现高效缓存!_布隆过滤器加缓存预热简单实现

布隆过滤器加缓存预热简单实现

前言

本文主要描述,使用布隆过滤实现高效缓存。文中采用数组做为缓存,如果需要高并发命中,则需将文中的数组换成Redis数据库。

布隆过滤

布隆缓存的创建过程如下:

1,先定义缓存bit数组(BitArray),数组的长度就是缓存数据的最大数量。

2,然后将字符串通过哈希运算,求出它的HashCode。

3,然后将HashCode作为伪随机数生成器(Random)的种子,生成一个小于最大数量的正数x。

4,然后将这x作为缓存数组的索引,将数组[x]的值设置为true。

布隆过滤

将获取到的字符串,通过上述前三步运算,计算出数组索引,然后在布隆缓存里取出指定索引的值,如果为True,则缓存存在,可以使用这个字符串去真正的数据缓存中取数据,如果未Fasle,则缓存不存在则去数据库中取数据。

代码实现

首先建立WinForm项目BloomTest。

然后编写布隆过滤器,代码如下:

public class BloomFilter{
      //布隆缓存数组    public BitArray BloomCache;    //布隆缓存数组的长度    public Int64 BloomCacheLength { get; }     public Int64 HashCount { get; }         /// &l
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/123393
推荐阅读
相关标签
  

闽ICP备14008679号