55 lines
876 B
Tcl
55 lines
876 B
Tcl
#!/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
|