summaryrefslogtreecommitdiff
path: root/redis.conf
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2014-04-15 17:46:51 +0200
committerantirez <antirez@gmail.com>2014-04-15 17:46:51 +0200
commit402110f9fdf62ccbd5d3d5e95cf5b6b760442b9e (patch)
tree989b392632076aa985aa844137cbb8ef1a141fb1 /redis.conf
parentd541f65d66706c63a5eb60c13319238297e53971 (diff)
downloadredis-402110f9fdf62ccbd5d3d5e95cf5b6b760442b9e.tar.gz
User-defined switch point between sparse-dense HLL encodings.
Diffstat (limited to 'redis.conf')
-rw-r--r--redis.conf14
1 files changed, 14 insertions, 0 deletions
diff --git a/redis.conf b/redis.conf
index 1e53917b6..ee3a3a3ce 100644
--- a/redis.conf
+++ b/redis.conf
@@ -682,6 +682,20 @@ set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
+# HyperLogLog sparse representation bytes limit. The limit includes the
+# 16 bytes header. When an HyperLogLog using the sparse representation crosses
+# this limit, it is convereted into the dense representation.
+#
+# A value greater than 16000 is totally useless, since at that point the
+# dense representation is more memory efficient.
+#
+# The suggested value is ~ 3000 in order to have the benefits of
+# the space efficient encoding without slowing down too much PFADD,
+# which is O(N) with the sparse encoding. Thev value can be raised to
+# ~ 10000 when CPU is not a concern, but space is, and the data set is
+# composed of many HyperLogLogs with cardinality in the 0 - 15000 range.
+hll-sparse-max-bytes 3000
+
# Active rehashing uses 1 millisecond every 100 milliseconds of CPU time in
# order to help rehashing the main Redis hash table (the one mapping top-level
# keys to values). The hash table implementation Redis uses (see dict.c)