Run your first commands

Start a private demo instance and verify its replies against the pinned beta package.

Release packages & checksums

Pinned release: v0.1.0-beta.1

The published packages target Linux x86_64 and ARM64. Running Lavik requires Linux 6.1 or newer with io_uring enabled and a compatible glibc; release packages are built on Ubuntu 24.04.

Use a versioned package

Download the minimal package for your CPU architecture from the linked release. Verify its SHA-256 checksum before extracting it. Put its directory on PATH so the lavik command resolves to that package. Install redis-cli using your Linux distribution’s package manager.

The example uses an isolated 512 MiB file and binds only to 127.0.0.1. Keep the server running in the first terminal while executing client commands in a second terminal. Stop it with Ctrl-C when finished. The temporary path is for a disposable example.

Your first keys

Install the pinned minimal package and redis-cli on compatible Linux. In one terminal, run the startup script below. In another, run these commands against the private demo instance.

Terminal 1 · Start the server
set -euo pipefail
mkdir -p /tmp/lavik-example
fallocate -l 512M /tmp/lavik-example/data
exec lavik --bind 127.0.0.1 --port 6379 --metrics-port 0 \
  --threads 2 --no-pin-workers --registered-buffer-mb-per-worker 64 \
  --shutdown-checkpoint --data-file /tmp/lavik-example/data \
  --log-dir /tmp/lavik-example/logs
Terminal 2 · Commands and expected output
$ redis-cli --raw PING
PONG

$ redis-cli --raw SET greeting 'hello from Lavik'
OK

$ redis-cli --raw GET greeting
hello from Lavik

$ redis-cli --raw HSET user:42 name Ada
1

$ redis-cli --raw HGET user:42 name
Ada
View actual execution record

0.1.0-beta.1 · Linux-7.0.12-linuxkit-aarch64-with-glibc2.39 · 2026-09-20

This record checks functional behavior, not NVMe performance, power-loss durability, or an SLA.

{
  "recipeId": "basic-commands",
  "platform": "Linux-7.0.12-linuxkit-aarch64-with-glibc2.39",
  "steps": [
    {
      "argv": [
        "redis-cli",
        "--raw",
        "PING"
      ],
      "expected": "PONG",
      "actual": "PONG"
    },
    {
      "argv": [
        "redis-cli",
        "--raw",
        "SET",
        "greeting",
        "hello from Lavik"
      ],
      "expected": "OK",
      "actual": "OK"
    },
    {
      "argv": [
        "redis-cli",
        "--raw",
        "GET",
        "greeting"
      ],
      "expected": "hello from Lavik",
      "actual": "hello from Lavik"
    },
    {
      "argv": [
        "redis-cli",
        "--raw",
        "HSET",
        "user:42",
        "name",
        "Ada"
      ],
      "expected": "1",
      "actual": "1"
    },
    {
      "argv": [
        "redis-cli",
        "--raw",
        "HGET",
        "user:42",
        "name"
      ],
      "expected": "Ada",
      "actual": "Ada"
    }
  ],
  "status": "passed",
  "binaryVersion": "lavik 0.1.0-beta.1",
  "sourceCommit": "3955b98d43b312324aa8d52775df52cfb111c0d0",
  "packageVersion": "v0.1.0-beta.1",
  "gracefulRestart": "passed"
}

What this check establishes

The recorded verification runs the displayed startup script and client commands against the exact release package. It also checks that a separate value survives a graceful shutdown and restart. This is a functional smoke test on the recorded Linux environment; it is not a performance measurement or a power-loss test.

A successful write response is not a synchronous fsync fence. Evaluate durability, replication, and recovery requirements for your workload.