0.2.1-beta • Published 4 years ago
tedis-mod v0.2.1-beta
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"),
},
});
url
Passing a url will override the host and port.
const tedis = new Tedis({
url: "redis://redisuser:authpassword@127.0.0.1:6380/4",
tls: {
key: fs.readFileSync(__dirname + "/client_server/client_key.pem"),
cert: fs.readFileSync(__dirname + "/client_server/client_cert.pem"),
},
});
ca cert
Passing a ca (self signed) cert will override the key and cert.
const tedis = new Tedis({
port: 6379,
host: "127.0.0.1",
tls: {
ca: fs.readFileSync(__dirname + "/client_server/client_ca.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
list
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
- zunionstore
0.2.1-beta
4 years ago