]> git.saurik.com Git - redis.git/blobdiff - TODO
Integer encoding implemented in dump file. Doc updated
[redis.git] / TODO
diff --git a/TODO b/TODO
index 9bf8644f471a0c65f58cb3a934de04a1eccbb463..85304b96a2f7c11bb1333cf30aa934fd83fafed3 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,38 +1,22 @@
-BETA 8 TODO
+- Protocol changes as discussed in the Redis group
 - keys expire
 - sunion ssub
-- write integers in a special way on disk (and on memory?)
+- write integers in a special way on disk, use the unused 11|.... length.
 - compact types for disk storing of short strings (no 4 bytes overhead!)
 - network layer stresser in test in demo
 - maxclients directive
 - check 'server.dirty' everywere
-- replication tests
-- command line client. If the last argument of a bulk command is missing get it from stdin. Example:
-    $ echo "bar" | redis-client SET foo
-    $ redis-client SET foo bar
-    $ redis-client GET foo
-    bar
-    $
-- Make Redis aware of the memory it is using thanks to getrusage() and report this info with the INFO command.
-- INFO command: clients, slave/master, requests/second in the last N seconds, memory usage, uptime, dirty, lastsave
+- replication automated tests
+- a command, or an external tool, to perform the SHA1SUM of the whole dataset, so that if the dataset between two servers is identical, so will be the MD5SUM
+- an external tool able to perform the 'difference' between two Redis servers. It's like 'diff', but against Redis servers, and the output is the set of commands needed to turn the first server into the second, suitable to be sent via netcat.
 
-FUTURE
+   $ ./redis-diff 192.168.1.1 192.168.1.2 > diff.txt
+   $ cat diff.txt | nc 192.168.1.1 6379
+   $ ./redis-diff 192.168.1.1 192.168.1.2
+   $ # No output now the servers are identical
 
-ROLLBACK command:
+This command should be smart and don't use too much memory, that is, take two connections at the same time against the two servers and perform the comparison key by key. Probably the initial "KEYS *" is unavoidable.
 
-    ROLLBACK UNSET x
-    SET x 10
-    EXPIRE x 3600
-    COMMIT
+- objects sharing, "objectsharing yes", "objectsharingpool 1024"
 
-    (multiple rollbacks are allowed)
-
-    or alternatively
-
-    TRANSACTION SET x 1000
-    TRANSACTION EXPIRE x 1000
-    COMMIT
-
-    but this sucks since there is no way to check the error message.
-
-- Prevent the client to issue SYNC or MONITOR multiple times
+* Include Lua and Perl bindings