Redis TODO ---------- WARNING: are you a possible Redis contributor? Before implementing what is listed what is listed in this file please drop a message in the Redis google group or chat with antirez or pietern on irc.freenode.org #redis to check if the work is already in progress and if the feature is still interesting for us, and *how* exactly this can be implemented to have good changes of a merge. Otherwise it is probably wasted work! Thank you DISKSTORE TODO ============== * Check that 00/00 and ff/ff exist at startup, otherwise exit with error. * Implement sync flush option, where data is written synchronously on disk when a command is executed. * Implement MULTI/EXEC as transaction abstract API to diskstore.c, with transaction_start, transaction_end, and a journal to recover. * Stop BGSAVE thread on shutdown and any other condition where the child is killed during normal bgsave. * Use a mutex to log on the file, so that we don't get overlapping messages, or even better make sure to use a single write against it. REPLICATION =========== * PING between master and slave from time to time, so we can subject the master-slave link to timeout, and detect when the connection is gone even if the socket is still up. OPTIMIZATIONS ============= * SORT: Don't copy the list into a vector when BY argument is constant. * Write the hash table size of every db in the dump, so that Redis can resize the hash table just one time when loading a big DB. * Read-only mode for slaves. KNOWN BUGS ========== * What happens in the following scenario: 1) We are reading an AOF file. 2) SETEX FOO 5 BAR 3) APPEND FOO ZAP What happens if between 1 and 2 for some reason (system under huge load or alike) too many time passes? We should prevent expires while the AOF is loading.