No matching definitions.

valkey/cmd

src/valkey/cmd.tur
defn

cmd

(cmd [c :int command :cstr args :int] :ptr<void>)

send an arbitrary command with a cons list of string arguments.

cctx-ptr (ok-val from client-connect)
commandcommand name string (e.g. "SET")
argscons list of :cstr argument strings; use 0 for empty list

(ok reply-ptr) on success; (err 0) on error or NULL reply. Call reply-free on the reply-ptr when done.

(let [r (cmd c "SET" (cons "mykey" (cons "myval" 0)))]
    (if (ok? r) (reply-free (ok-val r)) (println "cmd failed")))

Since: VK0

defn

cmd-get

(cmd-get [c :int key :cstr] :ptr<void>)

send GET key.

cctx-ptr (ok-val from client-connect)
keykey name string

(ok reply-ptr) on success; (err 0) on error. Call reply-free on the reply-ptr when done.

(let [r (cmd-get c "mykey")]
    (if (ok? r) (println (reply-string (ok-val r))) (println "get failed")))

Since: VK0

defn

cmd-set

(cmd-set [c :int key :cstr val :cstr] :ptr<void>)

send SET key value.

cctx-ptr (ok-val from client-connect)
keykey name string
valvalue string

(ok reply-ptr) on success; (err 0) on error.

(let [r (cmd-set c "mykey" "hello")]
    (if (ok? r) (reply-free (ok-val r)) (println "set failed")))

Since: VK0

defn

cmd-del

(cmd-del [c :int key :cstr] :ptr<void>)

send DEL key.

cctx-ptr (ok-val from client-connect)
keykey name string

(ok reply-ptr) on success; (err 0) on error.

(let [r (cmd-del c "mykey")]
    (if (ok? r) (reply-free (ok-val r)) (println "del failed")))

Since: VK0

defn

cmd-incr

(cmd-incr [c :int key :cstr] :ptr<void>)

send INCR key.

cctx-ptr (ok-val from client-connect)
keykey name string

(ok reply-ptr) on success; (err 0) on error.

(let [r (cmd-incr c "counter")]
    (if (ok? r) (println (reply-int (ok-val r))) (println "incr failed")))

Since: VK0

defn

cmd-expire

(cmd-expire [c :int key :cstr seconds :cstr] :ptr<void>)

send EXPIRE key seconds.

cctx-ptr (ok-val from client-connect)
keykey name string
secondsexpiry duration as a decimal string (e.g. "60")

(ok reply-ptr) on success; (err 0) on error.

(let [r (cmd-expire c "session" "3600")]
    (if (ok? r) (reply-free (ok-val r)) (println "expire failed")))

Since: VK0

defn

cmd-hset

(cmd-hset [c :int hash :cstr field :cstr val :cstr] :ptr<void>)

send HSET hash field value.

cctx-ptr (ok-val from client-connect)
hashhash key name
fieldfield name within the hash
valvalue string

(ok reply-ptr) on success; (err 0) on error.

(let [r (cmd-hset c "user:1" "name" "Alice")]
    (if (ok? r) (reply-free (ok-val r)) (println "hset failed")))

Since: VK0

defn

cmd-hget

(cmd-hget [c :int hash :cstr field :cstr] :ptr<void>)

send HGET hash field.

cctx-ptr (ok-val from client-connect)
hashhash key name
fieldfield name within the hash

(ok reply-ptr) on success; (err 0) on error.

(let [r (cmd-hget c "user:1" "name")]
    (if (ok? r) (println (reply-string (ok-val r))) (println "hget failed")))

Since: VK0

defn

cmd-lpush

(cmd-lpush [c :int list :cstr val :cstr] :ptr<void>)

send LPUSH list value.

cctx-ptr (ok-val from client-connect)
listlist key name
valvalue string to prepend

(ok reply-ptr) on success; (err 0) on error.

(let [r (cmd-lpush c "mylist" "item")]
    (if (ok? r) (reply-free (ok-val r)) (println "lpush failed")))

Since: VK0

defn

cmd-lrange

(cmd-lrange [c :int list :cstr start :int stop :int] :ptr<void>)

send LRANGE list start stop.

cctx-ptr (ok-val from client-connect)
listlist key name
start0-based start index (inclusive)
stop0-based stop index (inclusive; -1 for last element)

(ok reply-ptr) on success; (err 0) on error. Reply type is array; use reply-array-len and reply-array-get to iterate.

(let [r (cmd-lrange c "mylist" 0 -1)]
    (if (ok? r) (let [rep (ok-val r)] ...) (println "lrange failed")))

Since: VK0

Internal definitions
__ok-- create an ok result wrapping integer value v.
__err-- create an err result wrapping integer error value e.