This is a neat idea. However, the Redis backend seems rather pointless. If I'm understanding the code correctly, each bit of the filter is implemented as an item in Redis. From the comments[1] the overhead is ~130 bytes. So each bit ends up needing 1000 bits? At that point, it'd be even be more efficient to just use a hashtable with the SHA256 hash of the item as the key and storing a count+expiry time...
[1]: In the comments: "The simple backend I added treats each key as an individual bucket, and based on my rough testing, Redis added about ~130 bytes of overhead per key - which, of course, is a huge difference compared to the bit vector."