]> git.saurik.com Git - redis.git/commitdiff
lzf compression switched off by default now, with config file option to enable it...
authorantirez <antirez@gmail.com>
Wed, 16 Dec 2009 16:28:41 +0000 (11:28 -0500)
committerantirez <antirez@gmail.com>
Wed, 16 Dec 2009 16:28:41 +0000 (11:28 -0500)
redis.c
redis.conf

diff --git a/redis.c b/redis.c
index cadba369af6a88daf08d75984e62e9145366a445..404412286d196e9ed50ffa2bf235b008746822c4 100644 (file)
--- a/redis.c
+++ b/redis.c
@@ -301,6 +301,7 @@ struct redisServer {
     char *appendfilename;
     char *requirepass;
     int shareobjects;
+    int rdbcompression;
     /* Replication related */
     int isslave;
     char *masterauth;
@@ -1141,6 +1142,7 @@ static void initServerConfig() {
     server.appendfilename = "appendonly.aof";
     server.requirepass = NULL;
     server.shareobjects = 0;
+    server.rdbcompression = 0;
     server.sharingpoolsize = 1024;
     server.maxclients = 0;
     server.maxmemory = 0;
@@ -1341,6 +1343,10 @@ static void loadServerConfig(char *filename) {
             if ((server.shareobjects = yesnotoi(argv[1])) == -1) {
                 err = "argument must be 'yes' or 'no'"; goto loaderr;
             }
+        } else if (!strcasecmp(argv[0],"rdbcompression") && argc == 2) {
+            if ((server.rdbcompression = yesnotoi(argv[1])) == -1) {
+                err = "argument must be 'yes' or 'no'"; goto loaderr;
+            }
         } else if (!strcasecmp(argv[0],"shareobjectspoolsize") && argc == 2) {
             server.sharingpoolsize = atoi(argv[1]);
             if (server.sharingpoolsize < 1) {
@@ -2488,7 +2494,7 @@ static int rdbSaveStringObjectRaw(FILE *fp, robj *obj) {
 
     /* Try LZF compression - under 20 bytes it's unable to compress even
      * aaaaaaaaaaaaaaaaaa so skip it */
-    if (len > 20) {
+    if (server.rdbcompression && len > 20) {
         int retval;
 
         retval = rdbSaveLzfStringObject(fp,obj);
index 90f1b7b60d38ae506acd451b24e8240faf14170b..099a00a29ddd04e70e111940011f3acd6d00129f 100644 (file)
@@ -19,6 +19,25 @@ port 6379
 # Close the connection after a client is idle for N seconds (0 to disable)
 timeout 300
 
+# Set server verbosity to 'debug'
+# it can be one of:
+# debug (a lot of information, useful for development/testing)
+# notice (moderately verbose, what you want in production probably)
+# warning (only very important / critical messages are logged)
+loglevel debug
+
+# Specify the log file name. Also 'stdout' can be used to force
+# the demon to log on the standard output. Note that if you use standard
+# output for logging but daemonize, logs will be sent to /dev/null
+logfile stdout
+
+# Set the number of databases. The default database is DB 0, you can select
+# a different one on a per-connection basis using SELECT <dbid> where
+# dbid is a number between 0 and 'databases'-1
+databases 16
+
+################################ SNAPSHOTTING  #################################
+#
 # Save the DB on disk:
 #
 #   save <seconds> <changes>
@@ -34,6 +53,12 @@ save 900 1
 save 300 10
 save 60 10000
 
+# Compress string objects using LZF when dump .rdb databases?
+# For default that's set to 'no' because uses too much CPU time.
+# You want to switch this to 'yes' only if you have a lot of very compressible
+# data inside your dataset and are using replication.
+rdbcompression no
+
 # The filename where to dump the DB
 dbfilename dump.rdb
 
@@ -41,23 +66,6 @@ dbfilename dump.rdb
 # Note that you must specify a directory not a file name.
 dir ./
 
-# Set server verbosity to 'debug'
-# it can be one of:
-# debug (a lot of information, useful for development/testing)
-# notice (moderately verbose, what you want in production probably)
-# warning (only very important / critical messages are logged)
-loglevel debug
-
-# Specify the log file name. Also 'stdout' can be used to force
-# the demon to log on the standard output. Note that if you use standard
-# output for logging but daemonize, logs will be sent to /dev/null
-logfile stdout
-
-# Set the number of databases. The default database is DB 0, you can select
-# a different one on a per-connection basis using SELECT <dbid> where
-# dbid is a number between 0 and 'databases'-1
-databases 16
-
 ################################# REPLICATION #################################
 
 # Master-Slave replication. Use slaveof to make a Redis instance a copy of