whatisgithub

What is redis?

perryts/redis — explained in plain English

Analysis updated 2026-05-18

22TypeScriptAudience · developerComplexity · 3/5LicenseSetup · moderate

In one sentence

A pure TypeScript Redis and Valkey driver with no native dependencies that runs on Node.js, Bun, and compiles to a native binary via the Perry compiler.

Mindmap

mindmap
  root((repo))
    What it does
      Speaks Redis wire protocol
      No native addons
      Compiles to native binary
    Tech stack
      TypeScript
      Node.js
      Bun
      Perry LLVM compiler
    Use cases
      Connect app to Redis
      Build native Redis clients
      Use Redis Cluster
    Audience
      Backend developers
    Features
      RESP2 and RESP3
      TLS and auth
      Pooling and pipelining

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Connect a Node.js or Bun application to Redis or Valkey without native dependencies.

USE CASE 2

Build a standalone native binary that talks to Redis using the Perry compiler.

USE CASE 3

Run pipelined batches of Redis commands in a single network round trip.

USE CASE 4

Connect to a Redis Cluster with automatic slot routing across nodes.

What is it built with?

TypeScriptNode.jsBunRedisLLVM

How does it compare?

perryts/redisaerdelan/housand-domaintoolmatrixalibaba/webmcp-nexus
Stars222222
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Live server tests require a running Redis instance, but basic usage only needs the package installed.

MIT license: use freely for any purpose, including commercial use, as long as you keep the copyright notice.

So what is it?

This repository is a Redis and Valkey database driver written entirely in TypeScript, meaning it talks to a Redis server using the same network protocol Redis itself uses, without relying on any native code addons or bindings written in other languages. Because it avoids those native dependencies, it runs without changes on both Node.js and Bun, and it also compiles into a standalone native program using a separate project called Perry, a compiler that turns a restricted subset of TypeScript into a real executable through LLVM, a widely used compiler toolchain. That means the same source code can either run inside a normal JavaScript program or be turned into a small program with no JavaScript engine involved at all. The driver supports both major versions of the Redis wire protocol, RESP2 and RESP3, and automatically falls back to the older version if the server does not support the newer one. It handles authentication, including simple passwords and Redis's access control list system, and supports encrypted connections over TLS. Other supported features include pipelining several commands together in one network round trip, publish and subscribe messaging, transactions using MULTI and EXEC, running Lua scripts on the server with automatic retry if the script is not yet cached, client side caching with invalidation notifications, and Redis Cluster support with correct routing between cluster nodes. A connection pool is included for managing many connections efficiently, along with support for blocking commands, ones that wait for new data, in a way that plays well with that pool instead of tying up a connection indefinitely. The library can be installed with any of the common JavaScript package managers, and connections can be configured either with plain option objects or with standard Redis connection URLs and environment variables. It is released under the MIT license and is one of a small family of similar drivers the same author has built for other databases like Postgres and MySQL, all designed around the same constraints needed to compile with Perry.

Copy-paste prompts

Prompt 1
Show me how to connect to a Redis Cluster using @perryts/redis.
Prompt 2
Help me set up a connection pool with this library for a Node.js app.
Prompt 3
Explain how to run a Lua script with automatic NOSCRIPT retry using this driver.
Prompt 4
Walk me through enabling client side caching and handling invalidation events.

Frequently asked questions

What is redis?

A pure TypeScript Redis and Valkey driver with no native dependencies that runs on Node.js, Bun, and compiles to a native binary via the Perry compiler.

What language is redis written in?

Mainly TypeScript. The stack also includes TypeScript, Node.js, Bun.

What license does redis use?

MIT license: use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is redis to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is redis for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.