summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDominik Picheta <dominikpicheta@googlemail.com>2015-03-06 15:52:47 +0000
committerDominik Picheta <dominikpicheta@googlemail.com>2015-03-06 15:52:47 +0000
commit2c0dfcb302b20674da7a6be1752c4b3db6ffb60d (patch)
treee57bc7d98201001cadc873fe6bc5c4d044b02d03
parentd8c5c2f22215f74d5ccca352d2ded0cb77a2b5f9 (diff)
parent093b2adf6526b0fd9cb5bd45f394f51d9a21b526 (diff)
downloadNim-2c0dfcb302b20674da7a6be1752c4b3db6ffb60d.tar.gz
Merge pull request #2277 from SSPkrolik/redis-hll
Added HyperLogLog support to Redis client
-rw-r--r--lib/pure/redis.nim16
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