bloomfilter-redis-0.1.0.1: Distributed bloom filters on Redis (using the Hedis client).

Safe HaskellTrustworthy
LanguageHaskell2010

Data.RedisBloom

Contents

Description

A bloom filter for the Redis in-memory store.

Synopsis

Bloom filter configuration

Fundamental types

newtype HashCount Source #

Number of hashes to use in a bloom filter.

Constructors

HashCount Int 

Instances

Bounded HashCount Source # 
Enum HashCount Source # 
Eq HashCount Source # 
Integral HashCount Source # 
Num HashCount Source # 
Ord HashCount Source # 
Real HashCount Source # 
Show HashCount Source # 
Generic HashCount Source # 

Associated Types

type Rep HashCount :: * -> * #

type Rep HashCount Source # 
type Rep HashCount = D1 (MetaData "HashCount" "Data.RedisBloom.Internal" "bloomfilter-redis-0.1.0.1-LCosGOV6h6y97Dh7Yv70nM" True) (C1 (MetaCons "HashCount" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))

newtype Capacity Source #

Capacity of a bloom filter.

Constructors

Capacity Int 

Instances

Enum Capacity Source # 
Eq Capacity Source # 
Integral Capacity Source # 
Num Capacity Source # 
Ord Capacity Source # 
Real Capacity Source # 
Show Capacity Source # 
Generic Capacity Source # 

Associated Types

type Rep Capacity :: * -> * #

Methods

from :: Capacity -> Rep Capacity x #

to :: Rep Capacity x -> Capacity #

type Rep Capacity Source # 
type Rep Capacity = D1 (MetaData "Capacity" "Data.RedisBloom.Internal" "bloomfilter-redis-0.1.0.1-LCosGOV6h6y97Dh7Yv70nM" True) (C1 (MetaCons "Capacity" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Int)))

type Key = ByteString Source #

Redis Key

Static bloom filter configuration

data Bloom a Source #

Bloom filter static configuration. To use suggested values based on the desired false-positive rate and capacity, use suggestCreate.

Constructors

Bloom 

Fields

Bloom filter operations

createBF :: RedisCtx m (Either Reply) => Bloom a -> m (Either Reply Status) Source #

Create a new bloom filter with the specified configuration.

createIfNewBF :: RedisCtx m (Either Reply) => Bloom a -> m (Either Reply Bool) Source #

Create a new bloom filter with the specified configuration if the specified key does not yet exist.

addBF :: RedisCtx m f => Bloom a -> a -> m () Source #

Add an element to an existing bloom filter.

queryBF :: (MonadRedis m, RedisCtx m (Either Reply)) => Bloom a -> a -> m Bool Source #

Query whether an element exists in the bloom filter.

Gracefully fails upon failure by returning False.

querySafeBF :: (Applicative f, MonadRedis m, RedisCtx m f) => Bloom a -> a -> m (f Bool) Source #

Query whether an element exists in the bloom filter.