]> git.saurik.com Git - redis.git/commitdiff
RubyRedis: set TCP_NODELAY TCP socket option to to disable the neagle algorithm....
authorantirez <antirez@gmail.com>
Mon, 25 May 2009 23:12:46 +0000 (01:12 +0200)
committerantirez <antirez@gmail.com>
Mon, 25 May 2009 23:12:46 +0000 (01:12 +0200)
Changelog
TODO
client-libraries/ruby_2/rubyredis.rb

index 6e4d93a1b1c61fb29f0b3acd2c30464cbebfd195..4a26c5a223cb77edbc364ca81a214c9a00d874a1 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,6 @@
+2009-05-25 maxclients implemented, see redis.conf for details
+2009-05-25 INFO command now reports replication info
+2009-05-25 minor fix to RubyRedis about bulk commands sent without arguments
 2009-05-24 Warns if using the default config
 2009-05-24 Issue with redis-client used in scripts solved, now to check if the latest argument must come from standard input we do not check that stdin is or not a tty but the command arity
 2009-05-23 RubyRedis: now sets are returned as arrays again, and not as Set objects
 2009-05-24 Warns if using the default config
 2009-05-24 Issue with redis-client used in scripts solved, now to check if the latest argument must come from standard input we do not check that stdin is or not a tty but the command arity
 2009-05-23 RubyRedis: now sets are returned as arrays again, and not as Set objects
diff --git a/TODO b/TODO
index 4213b3dcab764d5235a5091560b9ee02184c24f2..cdd50f7a00cb5e95248a2f40e290d1d3043538ac 100644 (file)
--- a/TODO
+++ b/TODO
@@ -2,7 +2,6 @@ BEFORE REDIS 1.0.0-rc1
 
  * Add number of keys for every DB in INFO
  * maxmemory support
 
  * Add number of keys for every DB in INFO
  * maxmemory support
- * maxclients support
  * Resize the expires and Sets hash tables if needed as well? For Sets the right moment to check for this is probably in SREM
  * What happens if the saving child gets killed or segfaults instead of ending normally? Handle this.
  * check 'server.dirty' everywere. Make it proprotional to the number of objects modified.
  * Resize the expires and Sets hash tables if needed as well? For Sets the right moment to check for this is probably in SREM
  * What happens if the saving child gets killed or segfaults instead of ending normally? Handle this.
  * check 'server.dirty' everywere. Make it proprotional to the number of objects modified.
@@ -21,6 +20,15 @@ AFTER 1.0 stable release
  * Elapsed time in logs for SAVE when saving is going to take more than 2 seconds
  * LOCK / TRYLOCK / UNLOCK as described many times in the google group
  * Replication automated tests
  * Elapsed time in logs for SAVE when saving is going to take more than 2 seconds
  * LOCK / TRYLOCK / UNLOCK as described many times in the google group
  * Replication automated tests
+ * some kind of sorted type, example:
+        ZADD mykey foo 100
+        ZADD mykey bar 50
+   ZRANGE mykey 0 1 => bar foo
+   This is able to take elements sorted because a binary tree is used to store
+   the elements by 'score', with the actual value being the key. On the other
+   side the type also takes an hash table with key->score mapping, so that when
+   there is an update we lookup the current score and can traverse the tree.
+ * BITMAP type
 
 FUTURE HINTS
 
 
 FUTURE HINTS
 
index e668fcd5d879acb0038ab10d4d388450f749d0fb..ca73d817d91fca08ef4fc6bcb3a6b64feaf1e587 100644 (file)
@@ -116,6 +116,7 @@ class RedisClient
         else
             sock = TCPSocket.new(host, port, 0)
         end
         else
             sock = TCPSocket.new(host, port, 0)
         end
+        sock.setsockopt Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1
 
         # If the timeout is set we set the low level socket options in order
         # to make sure a blocking read will return after the specified number
 
         # If the timeout is set we set the low level socket options in order
         # to make sure a blocking read will return after the specified number