]> git.saurik.com Git - redis.git/blame - TODO
more work towards diskstore bgsave
[redis.git] / TODO
CommitLineData
4c22fd34 1Redis TODO
2----------
f284d963 3
4c22fd34 4WARNING: are you a possible Redis contributor?
5 Before implementing what is listed what is listed in this file
6 please drop a message in the Redis google group or chat with
7 antirez or pietern on irc.freenode.org #redis to check if the work
8 is already in progress and if the feature is still interesting for
9 us, and *how* exactly this can be implemented to have good changes
10 of a merge. Otherwise it is probably wasted work! Thank you
f6b141c5 11
44898603 12DISKSTORE TODO
13==============
bb8716b6 14
44898603 15* Check that 00/00 and ff/ff exist at startup, otherwise exit with error.
16* Implement sync flush option, where data is written synchronously on disk when a command is executed.
17* Implement MULTI/EXEC as transaction abstract API to diskstore.c, with transaction_start, transaction_end, and a journal to recover.
36c17a53 18* Stop BGSAVE thread on shutdown and any other condition where the child is killed during normal bgsave.
19* 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.
5b8ce853 20* Fix RANDOMKEY to really do something interesting
21* Fix DBSIZE to really do something interesting
22* Add a DEBUG command to check if an entry is or not in memory currently
bb8716b6 23
4c22fd34 24REPLICATION
25===========
3f477979 26
4c22fd34 27* PING between master and slave from time to time, so we can subject the
28master-slave link to timeout, and detect when the connection is gone even
29if the socket is still up.
3f477979 30
4c22fd34 31OPTIMIZATIONS
32=============
0188805d 33
682ac724 34* SORT: Don't copy the list into a vector when BY argument is constant.
35* 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.
4c22fd34 36* Read-only mode for slaves.
cef34df0 37
38KNOWN BUGS
39==========
40
4c22fd34 41* What happens in the following scenario:
42 1) We are reading an AOF file.
43 2) SETEX FOO 5 BAR
44 3) APPEND FOO ZAP
45 What happens if between 1 and 2 for some reason (system under huge load
46 or alike) too many time passes? We should prevent expires while the
47 AOF is loading.
2cffe299 48