# `Arex.KV`
[🔗](https://github.com/m/exarcade/blob/v0.1.0/lib/arex/kv.ex#L1)

Key/value helpers built on ArcadeDB's Redis-language command support.

`Arex.KV` wraps the Redis-compatible HTTP command surface that ArcadeDB
exposes through `/api/v1/command/:db` with `language: "redis"`.

Use this module when you want transient Redis-style key/value operations or
persistent hash-style commands without constructing raw Redis command strings
by hand. Wrapped helpers apply active `tenant` and `scope` values as a key
namespace. When you need a command that is not wrapped here, use `run/2`.

The important distinction is between structured helpers and raw commands:

- wrapped helpers such as `get/2`, `set/3`, `exists?/2`, and `hset/3` apply
  Arex boundary behavior when the target shape is known
- `run/2` and `batch/2` remain raw Redis-language escape hatches

That split keeps the public API predictable without pretending Arex can
safely rewrite arbitrary Redis command strings.

# `batch`

Executes multiple Redis-language commands as a newline-delimited batch.

# `decr`

Decrements a transient numeric key by 1 with `DECR`.

# `decrby`

Decrements a transient numeric key by the provided amount with `DECRBY`.

# `delete`

Deletes one or more transient keys with `DEL`.

# `exists?`

Returns whether a transient key exists.

# `get`

Reads a transient key with `GET`.

# `hdel`

Deletes one or more persistent records or indexed entries with `HDEL`.

# `hget`

Retrieves a persistent record or indexed value with `HGET`.

# `hmget`

Retrieves multiple persistent records or indexed values with `HMGET`.

# `hset`

Creates or updates one persistent record payload with `HSET`.

# `incr`

Increments a transient numeric key by 1 with `INCR`.

# `incrby`

Increments a transient numeric key by the provided amount with `INCRBY`.

# `incrbyfloat`

Increments a transient numeric key by a floating-point amount with `INCRBYFLOAT`.

# `ping`

Sends `PING` and returns the Redis-compatible response payload.

# `run`

Executes a raw Redis-language command and returns the normalized command result.

# `set`

Writes a transient key with `SET`.

# `value`

Unwraps the first `value` field from a normalized Redis-language command result.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
