File: redis.tcl

package info (click to toggle)
jimtcl 0.81%2Bdfsg0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 15,416 kB
  • sloc: ansic: 175,569; tcl: 5,456; sh: 4,814; cpp: 1,671; makefile: 269
file content (54 lines) | stat: -rw-r--r-- 876 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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