npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@kaushverse/redis-core

v1.0.10

Published

A secure, fail-fast Redis core SDK for Node.js with strict TLS enforcement and first-class TypeScript support.

Readme

🚀 Redis Core Client

A strict, production‑ready Redis client SDK built on top of ioredis, designed with:

  • ✅ Standalone Redis & Redis Cluster support
  • 🔐 Strict TLS (fail‑fast, no silent downgrade)
  • 🧠 Clear separation of infra vs helpers
  • ✨ Optional DX helpers wrapper with full autocomplete

This package is for backend developers who want Redis to be explicit, safe, and predictable — not magical.


📦 Installation

npm install @kaushverse/redis-core

⚠️ ioredis is a peer dependency and must be installed by the consumer.


🔧 Creating a Redis Client

Option 1️⃣ Host + Port (Standalone)

import { createRedisClient } from "@kaushverse/redis-core";

// Use this for local / simple setups
// NOTE: Do NOT provide `url` when using host + port
const redis = createRedisClient({
  host: "127.0.0.1",
  port: 6379,
});

Option 2️⃣ URL Based Connection

// Use this when you already have a Redis URL
// NOTE:
// - Do NOT provide host / port when using url
// - redis://  → non‑TLS
// - rediss:// → TLS (must match `tls: true`)

const redis = createRedisClient({
  url: "redis://127.0.0.1:6379",
});

Option 3️⃣ Strict TLS (Standalone)

const redis = createRedisClient({
  host: "redis.example.com",
  port: 6379,
  password: "secret",
  tls: true,
});

🔐 TLS Rules:

  • tls: true → TLS is mandatory
  • Invalid / missing cert → app crashes
  • ❌ No fallback to non‑TLS
  • ❌ No silent downgrade

Option 4️⃣ Redis Cluster

const redis = createRedisClient({
  nodes: [
    { host: "10.0.0.1", port: 6379 },
    { host: "10.0.0.2", port: 6379 },
  ],
  password: "secret",
  tls: true,
});

Cluster mode is auto‑detected via the nodes property.


🔔 Connection Events

The client automatically logs lifecycle events:

  • connect → Socket connected
  • ready → Redis ready
  • close → Connection closed
  • error → Redis / TLS error

TLS‑related errors are fatal when tls: true is enabled.


✨ Developer‑Friendly Helpers (Recommended)

Instead of calling helpers like getValue(redis, key) everywhere, wrap the client once for clean DX + autocomplete.

Create Helper Wrapper

import { withRedisHelpers } from "@kaushverse/redis-core";

const redis = createRedisClient(config);
const cache = withRedisHelpers(redis);

STRING Operations (via wrapper)

await cache.setValue("user:1", "kaush", 60);
await cache.getValue("user:1");

await cache.incrValue("counter");
await cache.appendValue("log", "entry");
await cache.mgetValue(["a", "b"]);

All helpers are typed, auto‑suggested, and work with:

  • Standalone Redis
  • Redis Cluster
  • TLS / non‑TLS

🧵 Raw Helper Imports (Optional)

If you prefer functional style:

import { setValue, getValue } from "@kaushverse/redis-core";

await setValue(redis, "name", "kaush");
const value = await getValue(redis, "name");

📁 Recommended Project Structure

myapp/
 ├─ config/
 │   └─ redis.ts      # redis-core usage
 ├─ services/
 │   └─ user.service.ts
 └─ index.ts

✅ When to Use This Package

  • Backend APIs
  • Microservices
  • Distributed locks
  • Feature flags
  • Caching layers

🏁 Final Notes

This package treats Redis as infrastructure, not magic.

If Redis is misconfigured — your app should know immediately.

Happy hacking 🔥