]> git.saurik.com Git - redis.git/blobdiff - TODO
Minor TODO change with new expiring algorithm description. New expiring algorithm...
[redis.git] / TODO
diff --git a/TODO b/TODO
index c464aa12ff5a26e6c56dc26d0b3a90ef26aa74d7..1df6be8bfc24c5a217132c9c1c45a90ee853900e 100644 (file)
--- a/TODO
+++ b/TODO
@@ -3,25 +3,26 @@ VERSION 1.1 TODO
 * For now only the last argument gets integer encoded, so make sure that: 1) every multi bulk commands implemented will have the last arg that is indeed a value, and not used otherwise. 2) to explicitly call the function to encode the object in MSET and other commands where there are multiple "values".
 * Man pages for MSET MSETNX and SRANDMEMBER, Z-commands, ...
 * ZSETs missing stuff: ZINCRBY
-* Add all the missing symbols for the statis functions into the table. This backtrace on segfault is indeed *very* useful.
+* Add all the missing symbols for the static functions into the table. Crete a Tcl script to check this. This backtrace on segfault is indeed *very* useful.
 * Use strcoll() to compare objects in sorted sets, like it already happens for SORT.
 * LMOVE, as discussed in the Redis group.
-* EXPIRE and EXPIREAT tests.
+* EXPIRE, EXPIREAT, ZSCORE tests.
+* Write docs for the "STORE" operaiton of SORT, and GET "#" option.
+* Append only mode: testing and a command to rebuild the log from scratch.
+* Profiling and optimizations. For instance the commands lookup is probably starting to eat too CPU being a simple list. To implement binary search or an hash table lookup can be a win probably.
+* Expiring algorithm should be adaptive. Use the following algorithm. Start testing REDIS_EXPIRELOOKUPS_PER_CRON in the first iteration, and continue with the same amount of keys until the percentage of expired keys > 25%.
 
 VERSION 1.2 TODO
 
 * Basic Redis-cluster (at least all the features of the Ruby client distribute implementation + ability to set every key in M nodes).
-* Append mode log
 * Hashes (HSET, HGET, HEXISTS, HLEN, ...).
 * An utility able to export an .rdb file into a text-only JSON dump, we can't live anymore without such a tool. Probably an extension to redis-cli.
 
 LONG TERM TODO
 
-* Expiring algorithm should be adaptive, if there are a lot of keys with an expire set and many of this happen to be already expired it should be, proportionally, more aggressive.
  * Add a command to inspect the currently selected DB index
  * Consistent hashing implemented in all the client libraries having an user base
  * SORT: Don't copy the list into a vector when BY argument is constant.
- * SORT ... STORE keyname. Instead to return the SORTed data set it into key.
  * Profiling and optimization in order to limit the CPU usage at minimum
  * 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.
  * Elapsed time in logs for SAVE when saving is going to take more than 2 seconds