-}
-
-### Actual API ###
-
-proc redis_set {fd key val} {
- redis_writenl $fd "set $key [string length $val]\r\n$val"
- redis_read_reply $fd
-}
-
-proc redis_setnx {fd key val} {
- redis_writenl $fd "setnx $key [string length $val]\r\n$val"
- redis_read_reply $fd
-}
-
-proc redis_get {fd key} {
- redis_writenl $fd "get $key"
- redis_read_reply $fd
-}
-
-proc redis_select {fd id} {
- redis_writenl $fd "select $id"
- redis_read_reply $fd
-}
-
-proc redis_move {fd key id} {
- redis_writenl $fd "move $key $id"
- redis_read_reply $fd
-}
-
-proc redis_del {fd key} {
- redis_writenl $fd "del $key"
- redis_read_reply $fd
-}
-
-proc redis_keys {fd pattern} {
- redis_writenl $fd "keys $pattern"
- split [redis_read_reply $fd]
-}
-
-proc redis_dbsize {fd} {
- redis_writenl $fd "dbsize"
- redis_read_reply $fd
-}
-
-proc redis_incr {fd key} {
- redis_writenl $fd "incr $key"
- redis_read_reply $fd
-}
-
-proc redis_decr {fd key} {
- redis_writenl $fd "decr $key"
- redis_read_reply $fd
-}
-
-proc redis_exists {fd key} {
- redis_writenl $fd "exists $key"
- redis_read_reply $fd
-}
-
-proc redis_lpush {fd key val} {
- redis_writenl $fd "lpush $key [string length $val]\r\n$val"
- redis_read_reply $fd
-}
-
-proc redis_rpush {fd key val} {
- redis_writenl $fd "rpush $key [string length $val]\r\n$val"
- redis_read_reply $fd
-}
-
-proc redis_llen {fd key} {
- redis_writenl $fd "llen $key"
- redis_read_reply $fd
-}
-
-proc redis_scard {fd key} {
- redis_writenl $fd "scard $key"
- redis_read_reply $fd
-}
-
-proc redis_lindex {fd key index} {
- redis_writenl $fd "lindex $key $index"
- redis_read_reply $fd
-}
-
-proc redis_lrange {fd key first last} {
- redis_writenl $fd "lrange $key $first $last"
- redis_read_reply $fd
-}
-
-proc redis_mget {fd args} {
- redis_writenl $fd "mget [join $args]"
- redis_read_reply $fd
-}
-
-proc redis_sort {fd key {params {}}} {
- redis_writenl $fd "sort $key $params"
- redis_read_reply $fd
-}
-
-proc redis_ltrim {fd key first last} {
- redis_writenl $fd "ltrim $key $first $last"
- redis_read_reply $fd
-}
-
-proc redis_rename {fd key1 key2} {
- redis_writenl $fd "rename $key1 $key2"
- redis_read_reply $fd
-}
-
-proc redis_renamenx {fd key1 key2} {
- redis_writenl $fd "renamenx $key1 $key2"
- redis_read_reply $fd
-}
-
-proc redis_lpop {fd key} {
- redis_writenl $fd "lpop $key"
- redis_read_reply $fd
-}
-
-proc redis_rpop {fd key} {
- redis_writenl $fd "rpop $key"
- redis_read_reply $fd
-}
-
-proc redis_lset {fd key index val} {
- redis_writenl $fd "lset $key $index [string length $val]\r\n$val"
- redis_read_reply $fd
-}
-
-proc redis_sadd {fd key val} {
- redis_writenl $fd "sadd $key [string length $val]\r\n$val"
- redis_read_reply $fd
-}
-
-proc redis_srem {fd key val} {
- redis_writenl $fd "srem $key [string length $val]\r\n$val"
- redis_read_reply $fd
-}
-
-proc redis_sismember {fd key val} {
- redis_writenl $fd "sismember $key [string length $val]\r\n$val"
- redis_read_reply $fd
-}
-
-proc redis_sinter {fd args} {
- redis_writenl $fd "sinter [join $args]"
- redis_read_reply $fd
-}
-
-proc redis_sinterstore {fd args} {
- redis_writenl $fd "sinterstore [join $args]"
- redis_read_reply $fd
-}
-
-proc redis_smembers {fd key} {
- redis_writenl $fd "smembers $key"
- redis_read_reply $fd
-}
-
-proc redis_echo {fd str} {
- redis_writenl $fd "echo [string length $str]\r\n$str"
- redis_read_reply $fd
-}
-
-proc redis_save {fd} {
- redis_writenl $fd "save"
- redis_read_reply $fd
-}
-
-proc redis_flushall {fd} {
- redis_writenl $fd "flushall"
- redis_read_reply $fd
-}
-
-proc redis_flushdb {fd} {
- redis_writenl $fd "flushdb"
- redis_read_reply $fd
-}
-
-proc redis_lrem {fd key count val} {
- redis_writenl $fd "lrem $key $count [string length $val]\r\n$val"
- redis_read_reply $fd