X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/9682a58fca1c53cecbf1b7a65bcf343f1f53c098..d5096a28d79bc8e0c015816d1b359a4d197cb3bb:/TODO diff --git a/TODO b/TODO index 5ca3cada..30963848 100644 --- a/TODO +++ b/TODO @@ -1,37 +1,24 @@ Redis TODO and Roadmap +---------------------- -VERSION 2.2 TODO +VERSION 2.2 TODO (Optimizations and latency) +============================================ + +* Support for syslog(3). +* Implement an UDP interface for low-latency operations. + +VERSION 2.x TODO ================ * BRPOPLPUSH * Save dataset / fsync() on SIGTERM * Change the implementation of ZCOUNT to use the augmented skiplist in order to be much faster. -* Write doc for ZCOUNT, and for open / closed intervals of sorted sets range operations. -Virtual Memory sub-TODO: +Virtual Memory optimizations: * Use multiple open FDs against the VM file, one for thread. -* vm-min-age option -* Check what happens performance-wise if instead to create threads again and again the same threads are reused forever. Note: this requires a way to disable this clients in the child, but waiting for empty new jobs queue can be enough. - +* Check what happens performance-wise if instead of creating threads again and again the same threads are reused forever. Note: this requires a way to disable this clients in the child, but waiting for empty new jobs queue can be enough. * Implement LEN, PEEK, POKE, SETBIT, GETBIT -VERSION 2.2 TODO (Fault tolerant sharding) -=========================================== - -* Redis-cluster, a fast intermediate layer (proxy) that implements consistent hashing and fault tollerant nodes handling. - -Interesting readings about this: - - - http://ayende.com/Blog/archive/2009/04/06/designing-rhino-dht-a-fault-tolerant-dynamically-distributed-hash.aspx - -VERSION 2.4 TODO (Optimizations and latency) -============================================ - -* Lower the CPU usage. -* Lower the RAM usage everywhere possible. -* Use epool and alike to rewrite ae.c for Linux and other platforms suppporting fater-than-select() mutiplexing APIs. -* Implement an UDP interface for low-latency GET/SET operations. - OTHER IMPORTANT THINGS THAT WILL BE ADDED BUT I'M NOT SURE WHEN =============================================================== @@ -73,3 +60,8 @@ it's not a guarantee they'll ever get implemented ;) * Pattern-matching replication. * Add an option to relax the delete-expiring-keys-on-write semantic *denying* replication and AOF when this is on? Can be handy sometimes, when using Redis for non persistent state, but can create problems. For instance should rename and move also "move" the timeouts? How does this affect other commands? * Multiple BY in SORT. + +KNOWN BUGS +========== + +* LRANGE and other commands are using 32 bit integers for ranges, and overflows are not detected. So LRANGE mylist 0 23498204823094823904823904 will have random effects.