Databasev0.1.4
@tekir/redis
Redis client with pub/sub, pipeline, and multi-connection support.
Installation
$
bun add @tekir/redisFeatures
- String, hash, set, and sorted set operations
- Pub/sub with subscribe and publish
- Key prefix support for namespacing
- Auto-reconnect with configurable retries
- RedisManager for multiple named connections
Quick Example
TypeScript
import { Redis } from '@tekir/redis'
const redis = new Redis({ url: 'redis://localhost:6379' })
await redis.set('key', 'value')
const val = await redis.get('key')
await redis.expire('key', 3600)Changelog
v0.1.4LatestSeptember 16, 2026
- Published output now uses the shared Node-targeted ESM bundle pipeline with external dependencies and generated TypeScript declarations, while Bun consumers keep the native source export.
v0.1.3July 23, 2026
- Package metadata now follows the shared compatible
0.1.xdependency range used by this coordinated Tekir release.
v0.1.2July 16, 2026
- Distributed locks are released only by their owner through an atomic compare-and-delete operation, and connection/manager cleanup paths are more defensive.
v0.1.1June 13, 2026
- New
clearPrefix()deletes only this connection's<prefix>:*keys (and deletes nothing when no prefix is set).flushdb()is now flagged as dangerous and points at the safer alternative. remember()now takes a short-livedSET NX EXlock so concurrent callers wait for one computation instead of stampeding, andsetJSON()with a TTL uses a single atomicSET ... EXso a crash can no longer leave a key without its TTL.- Connecting over plaintext in production now logs a warning, and credentials in the connection URL are masked in logs.
getJSONparse failures now log a warning with the key name (return staysnull), andsend()/subscribe()document that they are advanced and that incoming messages must be treated as untrusted.- Found and fixed with Fable.
v0.1.0April 1, 2026
- Initial release