diff options
Diffstat (limited to 'examples/redis.tcl')
-rw-r--r-- | examples/redis.tcl | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/examples/redis.tcl b/examples/redis.tcl new file mode 100644 index 0000000..3044ab8 --- /dev/null +++ b/examples/redis.tcl @@ -0,0 +1,54 @@ +#!/usr/bin/env jimsh + +# A simple test of the redis extension + +# Requires the redis extension +package require redis + +# A redis server should be running either on localhost 6379 +# or on the given address (e.g. host:port) +try { + lassign $argv addr + if {$addr eq ""} { + set addr localhost:6379 + } + set r [redis [socket stream $addr]] +} on error msg { + puts [errorInfo $msg] + exit 1 +} + +puts "KEYS: [$r KEYS *]" + +# Set a hash +set env(testing) yes +$r HMSET env {*}$env + +set result [$r HGET env testing] +puts "HGET: testing=$result" + +set size [$r HLEN env] +puts "Size of env is $size" + +set time [time { + $r HGETALL env +} 100] +puts "HGETALL: $time" + +# a multi-command transation +$r MULTI +$r SET a A1 +$r SET b B2 +$r EXEC +puts "MGET: [$r MGET a b]" + +# disard +$r MULTI +$r SET a ~A1 +$r SET b ~B2 +$r DISCARD +puts "MGET (DISCARD): [$r MGET a b]" + +set result [$r HGET env testing] + +$r close |