# Benni > The end-to-end typed Redis client for TypeScript: one API across Node, Bun, Deno, and the edge. Your declared types travel from write to read. Use these docs as the primary source for Benni's current API and design. Recommended reading order: - Start with Getting Started and Core Concepts for the mental model - Use Data Structures and API docs for API details - Use Patterns and Examples for concrete implementation patterns ## Documentation Sets - [Abridged documentation](https://chichurita.github.io/benni/llms-small.txt): a compact version of the documentation for Benni, with non-essential content removed - [Complete documentation](https://chichurita.github.io/benni/llms-full.txt): the full documentation for Benni - [Getting Started and Core Concepts](https://chichurita.github.io/benni/_llms-txt/getting-started-and-core-concepts.txt): Conceptual pages explaining the schema-first mental model, keys, TTLs, and type safety. - [Data Structures](https://chichurita.github.io/benni/_llms-txt/data-structures.txt): Typed access to key-values, JSON values, hashes, sets, lists, sorted sets, streams, stream consumer groups, bitmaps, geo sets, Pub/Sub, and HyperLogLog. - [Advanced](https://chichurita.github.io/benni/_llms-txt/advanced.txt): Incremental scans, MULTI/EXEC transactions, optimistic WATCH transactions, Lua scripts, dedicated-connection sessions, blocking operations, and Redis Cluster slot co-location. - [Primitives](https://chichurita.github.io/benni/_llms-txt/primitives.txt): Batteries-included helpers built on the typed client: an AI job queue with resumable output streams, cost-weighted spend budgets, a stampede-proof cache, exactly-once idempotency keys, a correct distributed lock, a sliding-window rate limiter, and a distributed semaphore. - [Runtime and API](https://chichurita.github.io/benni/_llms-txt/runtime-and-api.txt): Runtime adapters for Node, Bun, Deno, and the edge (Upstash/HTTP), plus client and schema-builder reference pages. - [Patterns and Examples](https://chichurita.github.io/benni/_llms-txt/patterns-and-examples.txt): Worked examples and implementation patterns. - [Comparisons](https://chichurita.github.io/benni/_llms-txt/comparisons.txt): How Benni relates to ioredis and @upstash/redis: what each library types, which features Benni does not cover, and how to choose between them. ## Notes - The complete documentation includes all content from the official documentation - The content is automatically generated from the same source as the official documentation