【redis】redis添加bloom filter布隆過濾器插件


前言

redis在4.0版本以后可通過插件的形式添加布隆過濾器,以下為具體操作。

操作

https://github.com/RedisBloom/RedisBloom下載最新的release源碼,在編譯服務器進行解壓編譯:

tar zxvf RedisBloom-1.1.1.tar.gz
cd RedisBloom-1.1.1
make

得到動態庫rebloom.so
啟動redis時,如下啟動即可加載bloom filter插件

./redis-server /usr/local/redis/conf/redis_6380.conf --loadmodule /usr/local/redis/src/rebloom.so INITIAL_SIZE 10000000 ERROR_RATE 0.0001
指定了默認的容量與容錯率

命令:

新建過濾器:

BF.RESERVE {key} {error_rate} {size}
error_rate指容錯率,取值范圍為(0,1),數值越小,占用內存越大,操作時占用cpu資源 越大。
Size指過濾器的容量,添加的條目數超過此數字后,性能將開始下降。實際降級將取決 於超出限制的程度。隨着條目數呈指數增長,性能將呈線性下降。
如果不通過該命令來新建過濾器,bf.add添加值時會自動創建過濾器,但會使用默認的 容量與容錯率。

添加過濾器與值:

BF.ADD {newFilter} {foo}
如果過濾器不存在,則會自動創建,使用默認的容量與容錯率。

檢查過濾器中是否存在值:

BF.EXISTS {newFilter} {foo}

參考:

https://baijiahao.baidu.com/s?id=1611754128562106165&wfr=spider&for=pc
https://oss.redislabs.com/redisbloom/Bloom_Commands/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM