]> git.saurik.com Git - redis.git/blobdiff - TODO
dict.c modified to be able to handle more than 150,000,000 keys
[redis.git] / TODO
diff --git a/TODO b/TODO
index bb137a8db3e7557e97aba9bb263620f429e2f92c..4c932d34f385a91967f56ae3d2ed22f9b4f4fbde 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,13 +1,23 @@
-- Protocol changes as discussed in the Redis group
-- keys expire
-- sunion ssub
-- write integers in a special way on disk (and on memory?)
-- compact types for disk storing of short strings (no 4 bytes overhead!)
-- network layer stresser in test in demo
+BEFORE REDIS 1.0.0-rc1
+
+- TTL command that returns -1 if a key is not volatile otherwise the time to live of a volatile key.
+- Remove max number of args limit
+- What happens if the saving child gets killed or segfaults instead of ending normally? Handle this.
+- Make sinterstore / unionstore / sdiffstore returning the cardinality of the resulting set.
 - maxclients directive
 - check 'server.dirty' everywere
 - replication automated tests
-- a command, or an external tool, to perform the MD5SUM of the whole dataset, so that if the dataset between two servers is identical, so will be the MD5SUM
-- objects sharing, "objectsharing yes", "objectsharingpool 1024"
+- Shutdown must kill other background savings before to start saving. Otherwise the DB can get replaced by the child that rename(2) after the parent for some reason.
+- Document replication
+- Objects sharing configuration, add the directive "objectsharingpool <size>"
+- Make sure to convert all the fstat() calls to 64bit versions.
+- SINTERCOUNT, SUNIONCOUNT, SDIFFCOUNT
+
+AFTER 1.0 stable release
+
+- Use partial qsort for SORT + LIMIT
+- Locking primitives
+
+FUTURE HINTS
 
-* Include Lua and Perl bindings
+- In memory compression: if in-memory values compression will be implemented, make sure to implement this so that addReply() is able to handle compressed objects, just creating an uncompressed version on the fly and adding this to the output queue instead of the original one. When insetad we need to look at the object string value (SORT BY for example), call a function that will turn the object into an uncompresed one.