diff options
author | Dominik Picheta <dominikpicheta@googlemail.com> | 2015-03-06 15:52:47 +0000 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@googlemail.com> | 2015-03-06 15:52:47 +0000 |
commit | 2c0dfcb302b20674da7a6be1752c4b3db6ffb60d (patch) | |
tree | e57bc7d98201001cadc873fe6bc5c4d044b02d03 | |
parent | d8c5c2f22215f74d5ccca352d2ded0cb77a2b5f9 (diff) | |
parent | 093b2adf6526b0fd9cb5bd45f394f51d9a21b526 (diff) | |
download | Nim-2c0dfcb302b20674da7a6be1752c4b3db6ffb60d.tar.gz |
Merge pull request #2277 from SSPkrolik/redis-hll
Added HyperLogLog support to Redis client
-rw-r--r-- | lib/pure/redis.nim | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/pure/redis.nim b/lib/pure/redis.nim index 52d81b3a4..64d3e1470 100644 --- a/lib/pure/redis.nim +++ b/lib/pure/redis.nim @@ -798,6 +798,22 @@ proc zunionstore*(r: Redis, destination: string, numkeys: string, return r.readInteger() +# HyperLogLog + +proc pfadd*(r: Redis, key: string, elements: varargs[string]): RedisInteger = + ## Add variable number of elements into special 'HyperLogLog' set type + r.sendCommand("PFADD", key, elements) + return r.readInteger() + +proc pfcount*(r: Redis, key: string): RedisInteger = + ## Count approximate number of elements in 'HyperLogLog' + r.sendCommand("PFCOUNT", key) + return r.readInteger() + +proc pfmerge*(r: Redis, destination: string, sources: varargs[string]) = + ## Merge several source HyperLogLog's into one specified by destKey + r.sendCommand("PFMERGE", destination, sources) + raiseNoOK(r.readStatus(), r.pipeline.enabled) # Pub/Sub |