]> git.saurik.com Git - redis.git/blob - TODO
TODO modified
[redis.git] / TODO
1 Redis TODO
2 ----------
3
4 WARNING: 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
11
12 DISKSTORE TODO
13 ==============
14
15 * Fix FLUSHALL/FLUSHDB: the queue of pending reads/writes should be handled.
16 * Check that 00/00 and ff/ff exist at startup, otherwise exit with error.
17 * Implement sync flush option, where data is written synchronously on disk when a command is executed.
18 * Implement MULTI/EXEC as transaction abstract API to diskstore.c, with transaction_start, transaction_end, and a journal to recover.
19 * Stop BGSAVE thread on shutdown and any other condition where the child is killed during normal bgsave.
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
23
24 * dscache.c near 236, kobj = createStringObject... we could use static obj.
25
26 APPEND ONLY FILE
27 ================
28
29 * in AOF rewirte use HMSET to rewrite small hashes instead of multiple calls
30 to HSET.
31
32 OPTIMIZATIONS
33 =============
34
35 * Avoid COW due to incrementing the dict iterators counter.
36 * SORT: Don't copy the list into a vector when BY argument is constant.
37 * 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.
38 * Read-only mode for slaves.
39 * Redis big lists as linked lists of small ziplists?
40 Possibly a simple heuristic that join near nodes when some node gets smaller than the low_level, and split it into two if gets bigger than high_level.
41
42 REPORTING
43 =========
44
45 * Better INFO output with sections.
46
47 RANDOM
48 ======
49
50 * Clients should be closed as far as the output buffer list is bigger than a given number of elements (configurable in redis.conf)
51 * Should the redis default configuration, and the default redis.conf, just bind 127.0.0.1?
52
53 KNOWN BUGS
54 ==========
55
56 * What happens in the following scenario:
57 1) We are reading an AOF file.
58 2) SETEX FOO 5 BAR
59 3) APPEND FOO ZAP
60 What happens if between 1 and 2 for some reason (system under huge load
61 or alike) too many time passes? We should prevent expires while the
62 AOF is loading.
63