]> git.saurik.com Git - redis.git/commitdiff
random tested mode for test-redis.tcl, minor other stuff, version switched to 0.8
authorantirez <antirez@gmail.com>
Mon, 23 Mar 2009 23:43:38 +0000 (00:43 +0100)
committerantirez <antirez@gmail.com>
Mon, 23 Mar 2009 23:43:38 +0000 (00:43 +0100)
.gitignore
TODO
redis.c
test-redis.tcl

index c9119a2faef0221f1df8e465051b2012417b728b..c8a56bc70829e3684685d0013f831629f7bcf6e6 100644 (file)
@@ -5,3 +5,4 @@ redis-server
 redis-benchmark
 doc-tools
 mkrelease.sh
+release
diff --git a/TODO b/TODO
index 9bf8644f471a0c65f58cb3a934de04a1eccbb463..00885d170d07ceb30523ab100f28594bdb94ee33 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,4 +1,4 @@
-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?)
@@ -6,33 +6,4 @@ BETA 8 TODO
 - 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
-
-FUTURE
-
-ROLLBACK command:
-
-    ROLLBACK UNSET x
-    SET x 10
-    EXPIRE x 3600
-    COMMIT
-
-    (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
+- replication automated tests
diff --git a/redis.c b/redis.c
index 0fc6679519bc66cc660081a88a5220711082915b..58b8560603bb8c63cd5caad062f1f94a48e13cea 100644 (file)
--- a/redis.c
+++ b/redis.c
@@ -27,7 +27,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 
-#define REDIS_VERSION "0.07"
+#define REDIS_VERSION "0.08"
 
 #include <stdio.h>
 #include <stdlib.h>
index 99b5646363217f52bebbfa09a5a31b74b96bf2ad..9bfab2048958d6974df432b70bfb1be35f722160 100644 (file)
@@ -784,37 +784,37 @@ proc redis_sismember {fd key val} {
 }
 
 proc redis_sinter {fd args} {
-    redis_writenl $fd "sinter [join $args]\r\n"
+    redis_writenl $fd "sinter [join $args]"
     redis_multi_bulk_read $fd
 }
 
 proc redis_sinterstore {fd args} {
-    redis_writenl $fd "sinterstore [join $args]\r\n"
+    redis_writenl $fd "sinterstore [join $args]"
     redis_read_retcode $fd
 }
 
 proc redis_smembers {fd key} {
-    redis_writenl $fd "smembers $key\r\n"
+    redis_writenl $fd "smembers $key"
     redis_multi_bulk_read $fd
 }
 
 proc redis_echo {fd str} {
-    redis_writenl $fd "echo [string length $str]\r\n$str\r\n"
-    redis_writenl $fd "smembers $key\r\n"
+    redis_writenl $fd "echo [string length $str]\r\n$str"
+    redis_writenl $fd "smembers $key"
 }
 
 proc redis_save {fd} {
-    redis_writenl $fd "save\r\n"
+    redis_writenl $fd "save"
     redis_read_retcode $fd
 }
 
 proc redis_flushall {fd} {
-    redis_writenl $fd "flushall\r\n"
+    redis_writenl $fd "flushall"
     redis_read_retcode $fd
 }
 
 proc redis_flushdb {fd} {
-    redis_writenl $fd "flushdb\r\n"
+    redis_writenl $fd "flushdb"
     redis_read_retcode $fd
 }
 
@@ -823,8 +823,35 @@ proc redis_lrem {fd key count val} {
     redis_read_integer $fd
 }
 
+proc stress {} {
+    set fd [socket 127.0.0.1 6379]
+    fconfigure $fd -translation binary
+    redis_flushall $fd
+    while 1 {
+        set randkey [expr int(rand()*10000)]
+        set randval [expr int(rand()*10000)]
+        set randidx0 [expr int(rand()*10)]
+        set randidx1 [expr int(rand()*10)]
+        set cmd [expr int(rand()*10)]
+        if {$cmd == 0} {redis_set $fd $randkey $randval}
+        if {$cmd == 1} {redis_get $fd $randkey}
+        if {$cmd == 2} {redis_incr $fd $randkey}
+        if {$cmd == 3} {redis_lpush $fd $randkey $randval}
+        if {$cmd == 4} {redis_rpop $fd $randkey}
+        if {$cmd == 5} {redis_del $fd $randkey}
+        if {$cmd == 6} {redis_lrange $fd $randkey $randidx0 $randidx1}
+        if {$cmd == 7} {redis_ltrim $fd $randkey $randidx0 $randidx1}
+        if {$cmd == 8} {redis_lindex $fd $randkey $randidx0}
+        if {$cmd == 9} {redis_lset $fd $randkey $randidx0 $randval}
+        flush stdout
+    }
+    close $fd
+}
+
 if {[llength $argv] == 0} {
     main 127.0.0.1 6379
+} elseif {[llength $argv] == 1 && [lindex $argv 0] eq {stress}} {
+    stress
 } else {
     main [lindex $argv 0] [lindex $argv 1]
 }