* 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.
* 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.
+* Tests for: ZINCRBY, SRANDMEMBER, SORT with #.
+* Write docs for the "STORE" operaiton of SORT, and GET "#" option.
+* Append only mode: testing and a command to rebuild the log from scratch.
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