{
  "product": "Specification (reference)",
  "title": "KV Store",
  "summary": "Get/put/delete, iteration, atomic batches, durability and compaction.",
  "category": "engines",
  "entries": [
    {
      "path": [
        "AI",
        "Protocol",
        "TCP server, request/response protocol"
      ],
      "value": "RESP-like",
      "status": "yes",
      "note": "multiple concurrent clients"
    },
    {
      "path": [
        "AI",
        "Protocol",
        "Pipelining"
      ],
      "value": "",
      "status": "yes",
      "note": "responses in request order"
    },
    {
      "path": [
        "AI",
        "Commands",
        "GET / SET / DEL / EXISTS"
      ],
      "value": "",
      "status": "yes",
      "note": "binary-safe values"
    },
    {
      "path": [
        "AI",
        "Commands",
        "EXPIRE / TTL"
      ],
      "value": "",
      "status": "yes",
      "note": "lazy + periodic expiry"
    },
    {
      "path": [
        "AI",
        "Commands",
        "INCR / DECR"
      ],
      "value": "",
      "status": "yes",
      "note": "atomic; error on non-numeric"
    },
    {
      "path": [
        "AI",
        "Commands",
        "KEYS pattern / SCAN"
      ],
      "value": "",
      "status": "yes",
      "note": "SCAN cursor-based, non-blocking"
    },
    {
      "path": [
        "AI",
        "Commands",
        "Pub/Sub"
      ],
      "value": "SUBSCRIBE/PUBLISH",
      "status": "yes",
      "note": "fan-out to subscribers"
    },
    {
      "path": [
        "AI",
        "Persistence",
        "Snapshot to disk and reload"
      ],
      "value": "",
      "status": "yes",
      "note": "atomic write; load on start"
    },
    {
      "path": [
        "AI",
        "Memory",
        "Max-memory with LRU eviction"
      ],
      "value": "",
      "status": "yes",
      "note": "configurable"
    },
    {
      "path": [
        "AI",
        "Ops",
        "INFO / stats command"
      ],
      "value": "keys, memory, hits/misses",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Ops",
        "Config via file or flags"
      ],
      "value": "port, maxmemory, snapshot path",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Ops",
        "Graceful shutdown"
      ],
      "value": "",
      "status": "yes",
      "note": "final snapshot on SIGTERM"
    }
  ]
}
