Analysis updated 2026-05-18
Connect a Node.js or Bun application to Redis or Valkey without native dependencies.
Build a standalone native binary that talks to Redis using the Perry compiler.
Run pipelined batches of Redis commands in a single network round trip.
Connect to a Redis Cluster with automatic slot routing across nodes.
| perryts/redis | aerdelan/housand-domaintoolmatrix | alibaba/webmcp-nexus | |
|---|---|---|---|
| Stars | 22 | 22 | 22 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 3/5 | 2/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Live server tests require a running Redis instance, but basic usage only needs the package installed.
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.
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.
Mainly TypeScript. The stack also includes TypeScript, Node.js, Bun.
MIT license: use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.