Tedis
redis client with typescript and esnext for nodejs
Install / Use
/learn @silkjs/TedisREADME
Introduction
What is tedis
Tedis write with typescript, it's the client of redis for nodejs, support async with ts and commonjs
Installation
yarn add tedis
Getting started
commonjs
const { Tedis, TedisPool } = require("tedis");
typescript
import { Tedis, TedisPool } from "tedis";
// no auth
const tedis = new Tedis({
port: 6379,
host: "127.0.0.1"
});
// auth
const tedis = new Tedis({
port: 6379,
host: "127.0.0.1",
password: "your_password"
});
tls
const tedis = new Tedis({
port: 6379,
host: "127.0.0.1",
tls: {
key: fs.readFileSync(__dirname + "/client_server/client_key.pem"),
cert: fs.readFileSync(__dirname + "/client_server/client_cert.pem")
}
});
TedisPool
// no auth
const pool = new TedisPool({
port: 6379,
host: "127.0.0.1"
});
// auth
const pool = new TedisPool({
port: 6379,
host: "127.0.0.1",
password: "your_password"
});
const tedis = await pool.getTedis();
// ... do some commands
pool.putTedis(tedis);
tls
const tedis = new TedisPool({
port: 6379,
host: "127.0.0.1",
tls: {
key: fs.readFileSync(__dirname + "/client_server/client_key.pem"),
cert: fs.readFileSync(__dirname + "/client_server/client_cert.pem")
}
});
Example
/**
* core
*/
await tedis.command("SET", "key1", "Hello");
// "OK"
await tedis.command("SET", "key2", "World");
// "OK"
/**
* key
*/
await tedis.keys("*");
// []
await tedis.exists("a");
// 0
/**
* string
*/
await tedis.set("mystring", "hello");
// "OK"
await tedis.get("mystring");
// "hello"
/**
* hash
*/
await tedis.hmset("myhash", {
name: "tedis",
age: 18
});
// "OK"
await tedis.hgetall("myhash");
// {
// "name": "tedis",
// "age": "18"
// }
/**
* list
*/
await tedis.lpush("mylist", "hello", "a", "b", "c", "d", 1, 2, 3, 4);
// 9
await tedis.llen("mylist");
// 9
Type interface
base
pool
key
- del
- dump
- exists
- expire
- expireat
- keys
- migrate
- move
- object
- persist
- pexpire
- pexpireat
- pttl
- randomkey
- rename
- renamenx
- restore
- scan
- sort
- touch
- ttl
- type
- unlink
- wait
string
- append
- bitcount
- bitfield
- bitop
- bitpos
- decr
- decrby
- get
- getbit
- getrange
- getset
- incr
- incrby
- incrbyfloat
- mget
- mset
- msetnx
- psetex
- set
- setbit
- setex
- setnx
- setrange
- strlen
hash
- hdel
- hexists
- hget
- hgetall
- hincrby
- hincrbyfloat
- hkeys
- hlen
- hmget
- hmset
- hscan
- hset
- hsetnx
- hstrlen
- hvals
list
- blpop
- brpop
- brpoplpush
- lindex
- linsert
- llen
- lpop
- lpush
- lpushx
- lrange
- lrem
- lset
- ltrim
- rpop
- rpoplpush
- rpush
- rpushx
set
- sadd
- scard
- sdiff
- sdiffstore
- sinter
- sinterstore
- sismember
- smembers
- smove
- spop
- srandmember
- srem
- sscan
- sunion
- sunionstore
zset
- bzpopmax
- bzpopmin
- zadd
- zcard
- zcount
- zincrby
- zinterstore
- zlexcount
- zpopmax
- zpopmin
- zrange
- zrangebylex
- zrangebyscore
- zrank
- zrem
- zremrangebylex
- zremrangebyrank
- zremrangebyscore
- zrevrange
- zrevrangebylex
- zrevrangebyscore
- zrevrank
- zscan
- [zscore](https://tedis.silkjs.org/api/zset.
Related Skills
node-connect
352.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Writing Hookify Rules
111.1kThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
review-duplication
100.6kUse this skill during code reviews to proactively investigate the codebase for duplicated functionality, reinvented wheels, or failure to reuse existing project best practices and shared utilities.
