Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
RubyRedis: set TCP_NODELAY TCP socket option to to disable the neagle…
… algorithm. Makes a huge difference under some OS, notably Linux
  • Loading branch information
antirez committed May 25, 2009
1 parent 285add5 commit a56785f
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
3 changes: 3 additions & 0 deletions 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
Expand Down
10 changes: 9 additions & 1 deletion TODO
Expand Up @@ -2,7 +2,6 @@ BEFORE REDIS 1.0.0-rc1

* 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.
Expand All @@ -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
* 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

Expand Down
1 change: 1 addition & 0 deletions client-libraries/ruby_2/rubyredis.rb
Expand Up @@ -116,6 +116,7 @@ def connect_to(host, port, timeout=nil)
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
Expand Down

0 comments on commit a56785f

Please sign in to comment.