tedis-mod
TypeScript icon, indicating that this package has built-in type declarations

0.2.1-beta • Public • Published

tedis logo

travis issues license package Coverage Status tag
pr release languages size commit

Supporting Tedis

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

string

hash

list

set

zset

Install

npm i tedis-mod

DownloadsWeekly Downloads

1

Version

0.2.1-beta

License

MIT

Unpacked Size

169 kB

Total Files

20

Last publish

Collaborators

  • samsteele