2022-06-24 17:14:37 +02:00

24 lines
782 B
Python

from aioredis.util import wait_ok
class HyperLogLogCommandsMixin:
"""HyperLogLog commands mixin.
For commands details see: http://redis.io/commands#hyperloglog
"""
def pfadd(self, key, value, *values):
"""Adds the specified elements to the specified HyperLogLog."""
return self.execute(b'PFADD', key, value, *values)
def pfcount(self, key, *keys):
"""Return the approximated cardinality of
the set(s) observed by the HyperLogLog at key(s).
"""
return self.execute(b'PFCOUNT', key, *keys)
def pfmerge(self, destkey, sourcekey, *sourcekeys):
"""Merge N different HyperLogLogs into a single one."""
fut = self.execute(b'PFMERGE', destkey, sourcekey, *sourcekeys)
return wait_ok(fut)