Web and app analytics
Daily and monthly unique users per page or feature, merged across days with PFMERGE.
Unique visitors, "have we seen this?", top items and frequencies over billions of events, each in a small, fixed amount of memory.
Add visitor ids to a HyperLogLog. Memory stays small however many arrive.
An animated walkthrough with real HotKV commands and example replies. Click any step to jump to it.
Exact answers to "how many unique users", "have we sent this email before" or "what are the top searches" need memory that grows with every distinct item. At billions of events that becomes gigabytes of sets and counters per question.
Probabilistic structures trade a small, known error for constant memory. HyperLogLog counts distinct items, Bloom filters answer membership, Top-K tracks the most frequent items and Count-min sketches estimate how often any item occurred. All four are built into HotKV.
Add visitor ids to a HyperLogLog. Memory stays small however many arrive.
PFADD visitors:2026-10-16 user:42 user:77 user:91An estimate of distinct visitors with a small standard error.
PFCOUNT visitors:2026-10-16Before sending a campaign email, check whether this address already got it.
BF.EXISTS sent:campaign:fall ada@example.comTop-K keeps the most frequent items as events stream in.
TOPK.LIST searches:today WITHCOUNTA Count-min sketch estimates the count of any item, listed or not.
CMS.QUERY pageviews /home /pricing /blogDaily and monthly unique users per page or feature, merged across days with PFMERGE.
Bloom filters stop duplicate sends across retries and campaigns.
Top queries and most-viewed products are tracked live for merchandising.
Distinct counts, mergeable across buckets.
PFADDPFCOUNTPFMERGEMembership with a configurable false positive rate.
BF.RESERVEBF.ADDBF.EXISTSThe most frequent items in a stream.
TOPK.ADDTOPK.LISTFrequency estimates for any item.
CMS.INCRBYCMS.QUERYBloom filters let you set the error rate, and Count-min sketches the width and depth. HyperLogLog has a small, fixed standard error.
No. It can report a false positive, never a false negative.
No. They are part of HotKV.
HotKV speaks the Redis protocol, so you can point an existing client at it and run these same commands.