UNPKG

tedis-mod

Version:

redis client for node.js with typescript and async

341 lines (289 loc) 10.6 kB
<p align="center"> <a href="https://tedis.silkjs.org/" target="_blank" rel="noopener noreferrer"><img src="./doc/.vuepress/public/icons/android-chrome-192x192.png" alt="tedis logo"></a> </p> <p align="center"> <a href="https://travis-ci.org/silkjs/tedis"><img src="https://img.shields.io/travis/silkjs/tedis.svg" alt="travis"></a> <a href="https://github.com/silkjs/tedis/issues"><img src="https://img.shields.io/github/issues-raw/silkjs/tedis.svg" alt="issues"></a> <a href="https://github.com/silkjs/tedis"><img src="https://img.shields.io/github/license/silkjs/tedis.svg" alt="license"></a> <a href="https://www.npmjs.com/package/tedis"><img src="https://img.shields.io/npm/v/tedis.svg" alt="package"></a> <a href='https://codecov.io/gh/silkjs/tedis'><img src='https://img.shields.io/codecov/c/github/silkjs/tedis.svg' alt='Coverage Status' /></a> <a href="javascript:void(0)" ><img src="https://img.shields.io/github/tag/silkjs/tedis.svg" alt="tag"></a> <br> <a href="javascript:void(0)" ><img src="https://img.shields.io/github/issues-pr/silkjs/tedis.svg" alt="pr"></a> <a href="javascript:void(0)" ><img src="https://img.shields.io/github/release/silkjs/tedis.svg" alt="release"></a> <a href="javascript:void(0)" ><img src="https://img.shields.io/github/languages/top/silkjs/tedis.svg" alt="languages"></a> <a href="javascript:void(0)" ><img src="https://img.shields.io/github/languages/code-size/silkjs/tedis.svg" alt="size"></a> <a href="javascript:void(0)" ><img src="https://img.shields.io/github/last-commit/silkjs/tedis.svg" alt="commit"></a> </p> <h2 align="center">Supporting Tedis</h2> ## Introduction ### What is tedis Tedis write with typescript, it's the client of redis for nodejs, support async with ts and commonjs ### Installation ```sh yarn add tedis ``` ### Getting started > commonjs ```js const { Tedis, TedisPool } = require("tedis"); ``` > typescript ```ts import { Tedis, TedisPool } from "tedis"; ``` ```ts // 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_ ```ts 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. ```ts 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. ```ts const tedis = new Tedis({ port: 6379, host: "127.0.0.1", tls: { ca: fs.readFileSync(__dirname + "/client_server/client_ca.pem"), }, }); ``` ### TedisPool ```ts // 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", }); ``` ```ts const tedis = await pool.getTedis(); // ... do some commands pool.putTedis(tedis); ``` _tls_ ```ts 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 ```ts /** * 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 - [command](https://tedis.silkjs.org/api/base.html#command) - [on](https://tedis.silkjs.org/api/base.html#on) - [close](https://tedis.silkjs.org/api/base.html#close) ## pool - [getTedis](https://tedis.silkjs.org/api/pool.html#getTedis) - [putTedis](https://tedis.silkjs.org/api/pool.html#putTedis) - [release](https://tedis.silkjs.org/api/pool.html#release) ### key - [del](https://tedis.silkjs.org/api/key.html#del) - dump - [exists](https://tedis.silkjs.org/api/key.html#exists) - [expire](https://tedis.silkjs.org/api/key.html#expire) - [expireat](https://tedis.silkjs.org/api/key.html#expireat) - [keys](https://tedis.silkjs.org/api/key.html#keys) - migrate - [move](https://tedis.silkjs.org/api/key.html#move) - object - [persist](https://tedis.silkjs.org/api/key.html#persist) - [pexpire](https://tedis.silkjs.org/api/key.html#pexpire) - [pexpireat](https://tedis.silkjs.org/api/key.html#pexpireat) - [pttl](https://tedis.silkjs.org/api/key.html#pttl) - [randomkey](https://tedis.silkjs.org/api/key.html#randomkey) - [rename](https://tedis.silkjs.org/api/key.html#rename) - [renamenx](https://tedis.silkjs.org/api/key.html#renamenx) - restore - scan - sort - touch - [ttl](https://tedis.silkjs.org/api/key.html#ttl) - [type](https://tedis.silkjs.org/api/key.html#type) - unlink - wait ### string - [append](https://tedis.silkjs.org/api/string.html#append) - bitcount - bitfield - bitop - bitpos - [decr](https://tedis.silkjs.org/api/string.html#decr) - [decrby](https://tedis.silkjs.org/api/string.html#decrby) - [get](https://tedis.silkjs.org/api/string.html#get) - [getbit](https://tedis.silkjs.org/api/string.html#getbit) - [getrange](https://tedis.silkjs.org/api/string.html#getrange) - [getset](https://tedis.silkjs.org/api/string.html#getset) - [incr](https://tedis.silkjs.org/api/string.html#incr) - [incrby](https://tedis.silkjs.org/api/string.html#incrby) - [incrbyfloat](https://tedis.silkjs.org/api/string.html#incrbyfloat) - [mget](https://tedis.silkjs.org/api/string.html#mget) - [mset](https://tedis.silkjs.org/api/string.html#mset) - [msetnx](https://tedis.silkjs.org/api/string.html#msetnx) - [psetex](https://tedis.silkjs.org/api/string.html#psetex) - [set](https://tedis.silkjs.org/api/string.html#set) - [setbit](https://tedis.silkjs.org/api/string.html#setbit) - [setex](https://tedis.silkjs.org/api/string.html#setex) - [setnx](https://tedis.silkjs.org/api/string.html#setnx) - [setrange](https://tedis.silkjs.org/api/string.html#setrange) - [strlen](https://tedis.silkjs.org/api/string.html#strlen) ### hash - [hdel](https://tedis.silkjs.org/api/hash.html#hdel) - [hexists](https://tedis.silkjs.org/api/hash.html#hexists) - [hget](https://tedis.silkjs.org/api/hash.html#hget) - [hgetall](https://tedis.silkjs.org/api/hash.html#hgetall) - [hincrby](https://tedis.silkjs.org/api/hash.html#hincrby) - [hincrbyfloat](https://tedis.silkjs.org/api/hash.html#hincrbyfloat) - [hkeys](https://tedis.silkjs.org/api/hash.html#hkeys) - [hlen](https://tedis.silkjs.org/api/hash.html#hlen) - [hmget](https://tedis.silkjs.org/api/hash.html#hmget) - [hmset](https://tedis.silkjs.org/api/hash.html#hmset) - hscan - [hset](https://tedis.silkjs.org/api/hash.html#hset) - [hsetnx](https://tedis.silkjs.org/api/hash.html#hsetnx) - [hstrlen](https://tedis.silkjs.org/api/hash.html#hstrlen) - [hvals](https://tedis.silkjs.org/api/hash.html#hvals) ### list - [blpop](https://tedis.silkjs.org/api/list.html#blpop) - [brpop](https://tedis.silkjs.org/api/list.html#brpop) - [brpoplpush](https://tedis.silkjs.org/api/list.html#brpoplpush) - [lindex](https://tedis.silkjs.org/api/list.html#lindex) - [linsert](https://tedis.silkjs.org/api/list.html#linsert) - [llen](https://tedis.silkjs.org/api/list.html#llen) - [lpop](https://tedis.silkjs.org/api/list.html#lpop) - [lpush](https://tedis.silkjs.org/api/list.html#lpush) - [lpushx](https://tedis.silkjs.org/api/list.html#lpushx) - [lrange](https://tedis.silkjs.org/api/list.html#lrange) - [lrem](https://tedis.silkjs.org/api/list.html#lrem) - [lset](https://tedis.silkjs.org/api/list.html#lset) - [ltrim](https://tedis.silkjs.org/api/list.html#ltrim) - [rpop](https://tedis.silkjs.org/api/list.html#rpop) - [rpoplpush](https://tedis.silkjs.org/api/list.html#rpoplpush) - [rpush](https://tedis.silkjs.org/api/list.html#rpush) - [rpushx](https://tedis.silkjs.org/api/list.html#rpushx) ### set - [sadd](https://tedis.silkjs.org/api/set.html#sadd) - [scard](https://tedis.silkjs.org/api/set.html#scard) - [sdiff](https://tedis.silkjs.org/api/set.html#sdiff) - [sdiffstore](https://tedis.silkjs.org/api/set.html#sdiffstore) - [sinter](https://tedis.silkjs.org/api/set.html#sinter) - [sinterstore](https://tedis.silkjs.org/api/set.html#sinterstore) - [sismember](https://tedis.silkjs.org/api/set.html#sismember) - [smembers](https://tedis.silkjs.org/api/set.html#smembers) - [smove](https://tedis.silkjs.org/api/set.html#smove) - [spop](https://tedis.silkjs.org/api/set.html#spop) - [srandmember](https://tedis.silkjs.org/api/set.html#srandmember) - [srem](https://tedis.silkjs.org/api/set.html#srem) - sscan - [sunion](https://tedis.silkjs.org/api/set.html#sunion) - [sunionstore](https://tedis.silkjs.org/api/set.html#sunionstore) ### zset - bzpopmax - bzpopmin - [zadd](https://tedis.silkjs.org/api/zset.html#zadd) - [zcard](https://tedis.silkjs.org/api/zset.html#zcard) - [zcount](https://tedis.silkjs.org/api/zset.html#zcount) - [zincrby](https://tedis.silkjs.org/api/zset.html#zincrby) - [zinterstore](https://tedis.silkjs.org/api/zset.html#zinterstore) - [zlexcount](https://tedis.silkjs.org/api/zset.html#zlexcount) - zpopmax - zpopmin - [zrange](https://tedis.silkjs.org/api/zset.html#zrange) - [zrangebylex](https://tedis.silkjs.org/api/zset.html#zrangebylex) - [zrangebyscore](https://tedis.silkjs.org/api/zset.html#zrangebyscore) - [zrank](https://tedis.silkjs.org/api/zset.html#zrank) - [zrem](https://tedis.silkjs.org/api/zset.html#zrem) - [zremrangebylex](https://tedis.silkjs.org/api/zset.html#zremrangebylex) - [zremrangebyrank](https://tedis.silkjs.org/api/zset.html#zremrangebyrank) - [zremrangebyscore](https://tedis.silkjs.org/api/zset.html#zremrangebyscore) - [zrevrange](https://tedis.silkjs.org/api/zset.html#zrevrange) - zrevrangebylex - [zrevrangebyscore](https://tedis.silkjs.org/api/zset.html#zrevrangebyscore) - [zrevrank](https://tedis.silkjs.org/api/zset.html#zrevrank) - zscan - [zscore](https://tedis.silkjs.org/api/zset.html#zscore) - [zunionstore](https://tedis.silkjs.org/api/zset.html#zunionstore)