Install With Binary
Download Minimal or Standard, verify its checksum, and start Lavik 0.2.0 from the extracted directory.
Before You Start
Use Linux 6.1+ with io_uring enabled and Ubuntu 24.04-compatible glibc. The Linux server binaries do not execute directly on macOS or Windows; use a suitable Linux VM or the Docker guide. Minimal uses kernel TCP/io_uring. Standard also includes opt-in SPDK/DPDK and needs x86-64-v2 or ARMv8-A + CRC32 plus NUMA/UUID libraries.
1. Choose and download a package
Minimal is the simplest starting point: kernel TCP and io_uring storage, without SPDK / DPDK.
Install the client and dependencies (Ubuntu 24.04)
sudo apt-get update &&
sudo apt-get install -y ca-certificates curl redis-toolsDownload, verify, and enter the package directory
Run this in a Bash terminal. The commands stop if a checksum check fails. If you already extracted this package from the Download page, enter the directory shown below.
curl -fLO --retry 3 https://github.com/eloqdata/lavik/releases/download/v0.2.0/lavik-v0.2.0-linux-x86_64-minimal.tar.gz &&
curl -fLO --retry 3 https://github.com/eloqdata/lavik/releases/download/v0.2.0/lavik-v0.2.0-linux-x86_64-minimal.tar.gz.sha256 &&
sha256sum -c lavik-v0.2.0-linux-x86_64-minimal.tar.gz.sha256 &&
tar -xzf lavik-v0.2.0-linux-x86_64-minimal.tar.gz &&
cd lavik-v0.2.0-linux-x86_64-minimal &&
./lavik --versionYour current directory should now be: lavik-v0.2.0-linux-x86_64-minimal
Expect lavik 0.2.0. Keep this terminal in that directory for the startup step below.
2. Start And Connect
Run the following in Bash from the extracted directory. Leave this terminal running and use a second terminal for redis-cli. The same file-backed example works with Minimal and Standard. The loopback listener and /tmp directory are intended for a disposable local evaluation.
#!/usr/bin/env bash
# A private throwaway file: never point this example at an existing database.
set -euo pipefail
if [ ! -x ./lavik ]; then
echo "Run this from the extracted Lavik package directory (the folder containing ./lavik)." >&2
exit 1
fi
mkdir -p /tmp/lavik-example
if [ ! -e /tmp/lavik-example/data ]; then
fallocate -l 512M /tmp/lavik-example/data
fi
./lavik --bind 127.0.0.1 --port 6379 --metrics-port 0 \
--network kernel --storage uring \
--threads 2 --no-pin-workers --registered-buffer-mb-per-worker 64 \
--shutdown-checkpoint --data-file /tmp/lavik-example/data \
--log-dir /tmp/lavik-example/logsredis-cli -h 127.0.0.1 -p 6379 PING
# PONG
redis-cli -h 127.0.0.1 -p 6379 SET greeting 'hello from Lavik'
# OK
redis-cli -h 127.0.0.1 -p 6379 GET greeting
# hello from Lavik3. Stop And Restart
Press Ctrl-C, then rerun the same startup block from the same directory. The script preserves an existing data file. Use a persistent data directory for data you intend to keep. Extracting an archive does not add its directory to PATH: ./lavik runs the local executable. A systemd service is optional; the APT guide provides one.
Use SPDK With Standard
Installing Standard does not switch the storage backend. Provision a dedicated empty NVMe namespace, IOMMU/VFIO, hugepages and locked-memory limits before selecting --storage=spdk and a spdk://PCI_BDF/NSID data path. Kernel TCP can remain enabled. File-backed examples do not measure NVMe/SPDK performance.
For 0.2.0, use the SPDK helper scripts from the v0.2.0 checkout (commit 2908f86f2770e9c6e8acc6585b3bedb4b44d1cd5). The upstream walkthrough retains older beta examples: replace its checkout with v0.2.0 and set LAVIK_BINARY to /opt/lavik-v0.2.0-linux-x86_64/lavik, or the actual absolute path to your extracted 0.2.0 Standard executable. Keep the documented dedicated-device checks, hugepage setup and io_uring requirements.