Commit 9acac9ce authored by antirez's avatar antirez
Browse files

Add server.mem_compression to enable/disable the feature.

parent 1c894f59
...@@ -399,11 +399,8 @@ robj *tryObjectEncoding(robj *o) { ...@@ -399,11 +399,8 @@ robj *tryObjectEncoding(robj *o) {
} }
/* Try LZF compression for objects up to REDIS_ENCODING_LZF_MAX_SIZE /* Try LZF compression for objects up to REDIS_ENCODING_LZF_MAX_SIZE
* and greater than REDIS_ENCODING_EMBSTR_SIZE_LIMIT. * and greater than REDIS_ENCODING_EMBSTR_SIZE_LIMIT. */
* if (server.mem_compression && len <= REDIS_ENCODING_LZF_MAX_SIZE) {
* TODO: add fast compressibility test using LZF against a few
* characters and don't going forward if this test does not passes. */
if (len <= REDIS_ENCODING_LZF_MAX_SIZE) {
/* Allocate four more bytes in our buffer since we need to store /* Allocate four more bytes in our buffer since we need to store
* the size of the compressed string as header. */ * the size of the compressed string as header. */
unsigned char compr[4+REDIS_ENCODING_LZF_MAX_COMPR_SIZE]; unsigned char compr[4+REDIS_ENCODING_LZF_MAX_COMPR_SIZE];
......
...@@ -1397,6 +1397,7 @@ void initServerConfig() { ...@@ -1397,6 +1397,7 @@ void initServerConfig() {
server.aof_filename = zstrdup(REDIS_DEFAULT_AOF_FILENAME); server.aof_filename = zstrdup(REDIS_DEFAULT_AOF_FILENAME);
server.requirepass = NULL; server.requirepass = NULL;
server.rdb_compression = REDIS_DEFAULT_RDB_COMPRESSION; server.rdb_compression = REDIS_DEFAULT_RDB_COMPRESSION;
server.mem_compression = REDIS_DEFAULT_MEM_COMPRESSION;
server.rdb_checksum = REDIS_DEFAULT_RDB_CHECKSUM; server.rdb_checksum = REDIS_DEFAULT_RDB_CHECKSUM;
server.stop_writes_on_bgsave_err = REDIS_DEFAULT_STOP_WRITES_ON_BGSAVE_ERROR; server.stop_writes_on_bgsave_err = REDIS_DEFAULT_STOP_WRITES_ON_BGSAVE_ERROR;
server.activerehashing = REDIS_DEFAULT_ACTIVE_REHASHING; server.activerehashing = REDIS_DEFAULT_ACTIVE_REHASHING;
......
...@@ -107,6 +107,7 @@ ...@@ -107,6 +107,7 @@
#define REDIS_DEFAULT_SYSLOG_ENABLED 0 #define REDIS_DEFAULT_SYSLOG_ENABLED 0
#define REDIS_DEFAULT_STOP_WRITES_ON_BGSAVE_ERROR 1 #define REDIS_DEFAULT_STOP_WRITES_ON_BGSAVE_ERROR 1
#define REDIS_DEFAULT_RDB_COMPRESSION 1 #define REDIS_DEFAULT_RDB_COMPRESSION 1
#define REDIS_DEFAULT_MEM_COMPRESSION 0
#define REDIS_DEFAULT_RDB_CHECKSUM 1 #define REDIS_DEFAULT_RDB_CHECKSUM 1
#define REDIS_DEFAULT_RDB_FILENAME "dump.rdb" #define REDIS_DEFAULT_RDB_FILENAME "dump.rdb"
#define REDIS_DEFAULT_SLAVE_SERVE_STALE_DATA 1 #define REDIS_DEFAULT_SLAVE_SERVE_STALE_DATA 1
...@@ -810,8 +811,9 @@ struct redisServer { ...@@ -810,8 +811,9 @@ struct redisServer {
size_t set_max_intset_entries; size_t set_max_intset_entries;
size_t zset_max_ziplist_entries; size_t zset_max_ziplist_entries;
size_t zset_max_ziplist_value; size_t zset_max_ziplist_value;
int mem_compression; /* In memory LZF compression. */
time_t unixtime; /* Unix time sampled every cron cycle. */ time_t unixtime; /* Unix time sampled every cron cycle. */
long long mstime; /* Like 'unixtime' but with milliseconds resolution. */ long long mstime; /* Like unixtime but in milliseconds. */
/* Pubsub */ /* Pubsub */
dict *pubsub_channels; /* Map channels to list of subscribed clients */ dict *pubsub_channels; /* Map channels to list of subscribed clients */
list *pubsub_patterns; /* A list of pubsub_patterns */ list *pubsub_patterns; /* A list of pubsub_patterns */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment