summaryrefslogtreecommitdiff
path: root/TODO
blob: edcd2b3283a8498206f2c70cb21e1d6918c58b9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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.
* Fix RANDOMKEY to really do something interesting
* Fix DBSIZE to really do something interesting
* Add a DEBUG command to check if an entry is or not in memory currently

APPEND ONLY FILE
================

* in AOF rewirte use HMSET to rewrite small hashes instead of multiple calls
  to HSET.

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.

REPORTING
=========

* Better INFO output with sections.

RANDOM
======

* Clients should be closed as far as the output buffer list is bigger than a given number of elements (configurable in redis.conf)
* Should the redis default configuration, and the default redis.conf, just bind 127.0.0.1?

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.