* Write docs for the "STORE" operaiton of SORT, and GET "#" option.
* Append only mode: testing and a command to rebuild the log from scratch.
* Profiling and optimizations. For instance the commands lookup is probably starting to eat too CPU being a simple list. To implement binary search or an hash table lookup can be a win probably.
* Expiring algorithm should be adaptive. Use the following algorithm. Start testing REDIS_EXPIRELOOKUPS_PER_CRON in the first iteration, and continue with the same amount of keys until the percentage of expired keys > 25%.
redisLog(REDIS_WARNING,"WARNING overcommit_memory is set to 0! Background save may fail under low condition memory. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.");
}
}
#endif /* __linux__ */
staticvoiddaemonize(void){
intfd;
FILE*fp;
if(fork()!=0)exit(0);/* parent exits */
setsid();/* create a new session */
/* Every output goes to /dev/null. If Redis is daemonized but
* the 'logfile' is set to 'stdout' in the configuration file
redisLog(REDIS_WARNING,"Warning: no config file specified, using the default config. In order to specify a config file use 'redis-server /path/to/redis.conf'");
}
if(ret==-1)returnNULL;
*offset=minoff;
returnsymsTable[ret].name;
initServer();
if(server.daemonize)daemonize();
redisLog(REDIS_NOTICE,"Server started, Redis version "REDIS_VERSION);
redisLog(REDIS_WARNING,"WARNING overcommit_memory is set to 0! Background save may fail under low condition memory. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.");
}
}
if(ret==-1)returnNULL;
*offset=minoff;
returnsymsTable[ret].name;
}
#endif /* __linux__ */
#else /* HAVE_BACKTRACE */
staticvoidsetupSigSegvAction(void){
}
#endif /* HAVE_BACKTRACE */
staticvoiddaemonize(void){
intfd;
FILE*fp;
if(fork()!=0)exit(0);/* parent exits */
setsid();/* create a new session */
/* Every output goes to /dev/null. If Redis is daemonized but
* the 'logfile' is set to 'stdout' in the configuration file
redisLog(REDIS_WARNING,"Warning: no config file specified, using the default config. In order to specify a config file use 'redis-server /path/to/redis.conf'");
}
initServer();
if(server.daemonize)daemonize();
redisLog(REDIS_NOTICE,"Server started, Redis version "REDIS_VERSION);