@upstash/redis 0.2.1 → 1.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +49 -0
- package/.prettierrc.js +7 -0
- package/dist/chunk-7YUZYRJS.mjs +29 -0
- package/dist/chunk-FJSI5EBJ.mjs +38 -0
- package/dist/chunk-U7OXAQMQ.mjs +37 -0
- package/dist/chunk-Y5TC4HX2.mjs +798 -0
- package/dist/chunk-ZIB6XPPC.mjs +1061 -0
- package/dist/cloudflare.d.ts +38 -0
- package/dist/cloudflare.js +1738 -0
- package/dist/cloudflare.mjs +35 -0
- package/dist/commands.d.ts +206 -0
- package/dist/commands.js +1201 -0
- package/dist/commands.mjs +219 -0
- package/dist/fastly.d.ts +44 -0
- package/dist/fastly.js +1728 -0
- package/dist/fastly.mjs +25 -0
- package/dist/http.d.ts +29 -0
- package/dist/http.js +84 -0
- package/dist/http.mjs +7 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +1744 -0
- package/dist/index.mjs +13 -0
- package/dist/nodejs.d.ts +47 -0
- package/dist/nodejs.js +1742 -0
- package/dist/nodejs.mjs +10 -0
- package/dist/package.json +1 -0
- package/dist/redis-dd052782.d.ts +962 -0
- package/dist/zunionstore-dffa797d.d.ts +670 -0
- package/jest.config.js +194 -4
- package/package.json +1 -75
- package/pkg/cloudflare.ts +77 -0
- package/pkg/command.ts +40 -0
- package/pkg/commands/append.test.ts +28 -0
- package/pkg/commands/append.ts +10 -0
- package/pkg/commands/bitcount.test.ts +36 -0
- package/pkg/commands/bitcount.ts +19 -0
- package/pkg/commands/bitop.test.ts +44 -0
- package/pkg/commands/bitop.ts +22 -0
- package/pkg/commands/bitpos.test.ts +26 -0
- package/pkg/commands/bitpos.ts +10 -0
- package/pkg/commands/dbsize.test.ts +17 -0
- package/pkg/commands/dbsize.ts +10 -0
- package/pkg/commands/decr.test.ts +22 -0
- package/pkg/commands/decr.ts +10 -0
- package/pkg/commands/decrby.test.ts +23 -0
- package/pkg/commands/decrby.ts +10 -0
- package/pkg/commands/del.test.ts +38 -0
- package/pkg/commands/del.ts +11 -0
- package/pkg/commands/echo.test.ts +11 -0
- package/pkg/commands/echo.ts +10 -0
- package/pkg/commands/exists.test.ts +37 -0
- package/pkg/commands/exists.ts +11 -0
- package/pkg/commands/expire.test.ts +22 -0
- package/pkg/commands/expire.ts +10 -0
- package/pkg/commands/expireat.test.ts +24 -0
- package/pkg/commands/expireat.ts +10 -0
- package/pkg/commands/flushall.test.ts +17 -0
- package/pkg/commands/flushall.ts +13 -0
- package/pkg/commands/flushdb.test.ts +17 -0
- package/pkg/commands/flushdb.ts +13 -0
- package/pkg/commands/get.test.ts +34 -0
- package/pkg/commands/get.ts +10 -0
- package/pkg/commands/getbit.test.ts +16 -0
- package/pkg/commands/getbit.ts +10 -0
- package/pkg/commands/getrange.test.ts +25 -0
- package/pkg/commands/getrange.ts +10 -0
- package/pkg/commands/getset.test.ts +33 -0
- package/pkg/commands/getset.ts +10 -0
- package/pkg/commands/hdel.test.ts +30 -0
- package/pkg/commands/hdel.ts +10 -0
- package/pkg/commands/hexists.test.ts +31 -0
- package/pkg/commands/hexists.ts +10 -0
- package/pkg/commands/hget.test.ts +47 -0
- package/pkg/commands/hget.ts +10 -0
- package/pkg/commands/hgetall.test.ts +32 -0
- package/pkg/commands/hgetall.ts +35 -0
- package/pkg/commands/hincrby.test.ts +27 -0
- package/pkg/commands/hincrby.ts +10 -0
- package/pkg/commands/hincrbyfloat.test.ts +25 -0
- package/pkg/commands/hincrbyfloat.ts +10 -0
- package/pkg/commands/hkeys.test.ts +22 -0
- package/pkg/commands/hkeys.ts +10 -0
- package/pkg/commands/hlen.test.ts +24 -0
- package/pkg/commands/hlen.ts +10 -0
- package/pkg/commands/hmget.test.ts +48 -0
- package/pkg/commands/hmget.ts +41 -0
- package/pkg/commands/hmset.test.ts +24 -0
- package/pkg/commands/hmset.ts +10 -0
- package/pkg/commands/hscan.test.ts +46 -0
- package/pkg/commands/hscan.ts +22 -0
- package/pkg/commands/hset.test.ts +21 -0
- package/pkg/commands/hset.ts +10 -0
- package/pkg/commands/hsetnx.test.ts +37 -0
- package/pkg/commands/hsetnx.ts +10 -0
- package/pkg/commands/hstrlen.test.ts +24 -0
- package/pkg/commands/hstrlen.ts +10 -0
- package/pkg/commands/hvals.test.ts +23 -0
- package/pkg/commands/hvals.ts +10 -0
- package/pkg/commands/incr.test.ts +23 -0
- package/pkg/commands/incr.ts +10 -0
- package/pkg/commands/incrby.test.ts +23 -0
- package/pkg/commands/incrby.ts +10 -0
- package/pkg/commands/incrbyfloat.test.ts +24 -0
- package/pkg/commands/incrbyfloat.ts +10 -0
- package/pkg/commands/index.ts +107 -0
- package/pkg/commands/keys.test.ts +17 -0
- package/pkg/commands/keys.ts +10 -0
- package/pkg/commands/lindex.test.ts +33 -0
- package/pkg/commands/lindex.ts +7 -0
- package/pkg/commands/linsert.test.ts +19 -0
- package/pkg/commands/linsert.ts +6 -0
- package/pkg/commands/llen.test.ts +26 -0
- package/pkg/commands/llen.ts +10 -0
- package/pkg/commands/lpop.test.ts +27 -0
- package/pkg/commands/lpop.ts +10 -0
- package/pkg/commands/lpush.test.ts +17 -0
- package/pkg/commands/lpush.ts +11 -0
- package/pkg/commands/lpushx.test.ts +29 -0
- package/pkg/commands/lpushx.ts +11 -0
- package/pkg/commands/lrange.test.ts +22 -0
- package/pkg/commands/lrange.ts +7 -0
- package/pkg/commands/lrem.test.ts +19 -0
- package/pkg/commands/lrem.ts +6 -0
- package/pkg/commands/lset.test.ts +40 -0
- package/pkg/commands/lset.ts +7 -0
- package/pkg/commands/ltrim.test.ts +29 -0
- package/pkg/commands/ltrim.ts +7 -0
- package/pkg/commands/mget.test.ts +44 -0
- package/pkg/commands/mget.ts +9 -0
- package/pkg/commands/mset.test.ts +24 -0
- package/pkg/commands/mset.ts +10 -0
- package/pkg/commands/msetnx.test.ts +46 -0
- package/pkg/commands/msetnx.ts +10 -0
- package/pkg/commands/persist.test.ts +22 -0
- package/pkg/commands/persist.ts +10 -0
- package/pkg/commands/pexpire.test.ts +24 -0
- package/pkg/commands/pexpire.ts +10 -0
- package/pkg/commands/pexpireat.test.ts +24 -0
- package/pkg/commands/pexpireat.ts +10 -0
- package/pkg/commands/ping.test.ts +19 -0
- package/pkg/commands/ping.ts +13 -0
- package/pkg/commands/psetex.test.ts +23 -0
- package/pkg/commands/psetex.ts +10 -0
- package/pkg/commands/pttl.test.ts +17 -0
- package/pkg/commands/pttl.ts +10 -0
- package/pkg/commands/randomkey.test.ts +17 -0
- package/pkg/commands/randomkey.ts +10 -0
- package/pkg/commands/rename.test.ts +18 -0
- package/pkg/commands/rename.ts +10 -0
- package/pkg/commands/renamenx.test.ts +32 -0
- package/pkg/commands/renamenx.ts +10 -0
- package/pkg/commands/rpop.test.ts +27 -0
- package/pkg/commands/rpop.ts +10 -0
- package/pkg/commands/rpush.test.ts +17 -0
- package/pkg/commands/rpush.ts +11 -0
- package/pkg/commands/rpushx.test.ts +29 -0
- package/pkg/commands/rpushx.ts +11 -0
- package/pkg/commands/sadd.test.ts +16 -0
- package/pkg/commands/sadd.ts +11 -0
- package/pkg/commands/scan.test.ts +50 -0
- package/pkg/commands/scan.ts +21 -0
- package/pkg/commands/scard.test.ts +15 -0
- package/pkg/commands/scard.ts +9 -0
- package/pkg/commands/sdiff.test.ts +20 -0
- package/pkg/commands/sdiff.ts +9 -0
- package/pkg/commands/sdiffstore.test.ts +21 -0
- package/pkg/commands/sdiffstore.ts +10 -0
- package/pkg/commands/set.test.ts +112 -0
- package/pkg/commands/set.ts +53 -0
- package/pkg/commands/setbit.test.ts +16 -0
- package/pkg/commands/setbit.ts +10 -0
- package/pkg/commands/setex.test.ts +22 -0
- package/pkg/commands/setex.ts +10 -0
- package/pkg/commands/setnx.test.ts +27 -0
- package/pkg/commands/setnx.ts +10 -0
- package/pkg/commands/setrange.test.ts +25 -0
- package/pkg/commands/setrange.ts +10 -0
- package/pkg/commands/sinter.test.ts +36 -0
- package/pkg/commands/sinter.ts +9 -0
- package/pkg/commands/sinterstore.test.ts +21 -0
- package/pkg/commands/sinterstore.ts +9 -0
- package/pkg/commands/sismember.test.ts +30 -0
- package/pkg/commands/sismember.ts +9 -0
- package/pkg/commands/smembers.test.ts +22 -0
- package/pkg/commands/smembers.ts +10 -0
- package/pkg/commands/smove.test.ts +18 -0
- package/pkg/commands/smove.ts +9 -0
- package/pkg/commands/spop.test.ts +35 -0
- package/pkg/commands/spop.ts +13 -0
- package/pkg/commands/srandmember.test.ts +32 -0
- package/pkg/commands/srandmember.ts +13 -0
- package/pkg/commands/srem.test.ts +18 -0
- package/pkg/commands/srem.ts +10 -0
- package/pkg/commands/sscan.test.ts +50 -0
- package/pkg/commands/sscan.ts +22 -0
- package/pkg/commands/strlen.test.ts +16 -0
- package/pkg/commands/strlen.ts +10 -0
- package/pkg/commands/sunion.test.ts +22 -0
- package/pkg/commands/sunion.ts +10 -0
- package/pkg/commands/sunionstore.test.ts +29 -0
- package/pkg/commands/sunionstore.ts +10 -0
- package/pkg/commands/time.test.ts +11 -0
- package/pkg/commands/time.ts +9 -0
- package/pkg/commands/touch.test.ts +20 -0
- package/pkg/commands/touch.ts +10 -0
- package/pkg/commands/ttl.test.ts +17 -0
- package/pkg/commands/ttl.ts +10 -0
- package/pkg/commands/type.test.ts +72 -0
- package/pkg/commands/type.ts +11 -0
- package/pkg/commands/unlink.test.ts +21 -0
- package/pkg/commands/unlink.ts +10 -0
- package/pkg/commands/zadd.test.ts +177 -0
- package/pkg/commands/zadd.ts +64 -0
- package/pkg/commands/zcard.test.ts +15 -0
- package/pkg/commands/zcard.ts +10 -0
- package/pkg/commands/zcount.test.ts +15 -0
- package/pkg/commands/zcount.ts +9 -0
- package/pkg/commands/zincrby.test.ts +20 -0
- package/pkg/commands/zincrby.ts +9 -0
- package/pkg/commands/zinterstore.test.ts +239 -0
- package/pkg/commands/zinterstore.ts +55 -0
- package/pkg/commands/zlexcount.test.ts +22 -0
- package/pkg/commands/zlexcount.ts +9 -0
- package/pkg/commands/zpopmax.test.ts +45 -0
- package/pkg/commands/zpopmax.ts +13 -0
- package/pkg/commands/zpopmin.test.ts +49 -0
- package/pkg/commands/zpopmin.ts +13 -0
- package/pkg/commands/zrange.test.ts +52 -0
- package/pkg/commands/zrange.ts +22 -0
- package/pkg/commands/zrank.test.ts +22 -0
- package/pkg/commands/zrank.ts +10 -0
- package/pkg/commands/zrem.test.ts +20 -0
- package/pkg/commands/zrem.ts +10 -0
- package/pkg/commands/zremrangebylex.test.ts +26 -0
- package/pkg/commands/zremrangebylex.ts +9 -0
- package/pkg/commands/zremrangebyrank.test.ts +27 -0
- package/pkg/commands/zremrangebyrank.ts +9 -0
- package/pkg/commands/zremrangebyscore.test.ts +24 -0
- package/pkg/commands/zremrangebyscore.ts +9 -0
- package/pkg/commands/zrevrank.test.ts +22 -0
- package/pkg/commands/zrevrank.ts +10 -0
- package/pkg/commands/zscan.test.ts +50 -0
- package/pkg/commands/zscan.ts +22 -0
- package/pkg/commands/zscore.test.ts +18 -0
- package/pkg/commands/zscore.ts +10 -0
- package/pkg/commands/zunionstore.test.ts +215 -0
- package/pkg/commands/zunionstore.ts +55 -0
- package/pkg/commands/zz.ts +1 -0
- package/pkg/error.ts +9 -0
- package/pkg/fastly.ts +54 -0
- package/pkg/http.test.ts +34 -0
- package/pkg/http.ts +62 -0
- package/pkg/index.ts +2 -0
- package/pkg/nodejs.ts +83 -0
- package/pkg/pipeline.test.ts +177 -0
- package/pkg/pipeline.ts +999 -0
- package/pkg/redis.ts +930 -0
- package/pkg/test-utils.ts +41 -0
- package/pkg/types.ts +4 -0
- package/pkg/util.ts +22 -0
- package/pnpm-lock.yaml +3940 -0
- package/tsconfig.json +96 -16
- package/tsup.config.ts +16 -0
- package/README.md +0 -63
- package/dist/main/client.d.ts +0 -21
- package/dist/main/client.js +0 -564
- package/dist/main/index-cjs.d.ts +0 -1
- package/dist/main/index-cjs.js +0 -120
- package/dist/main/types.d.ts +0 -179
- package/dist/main/types.js +0 -2
- package/dist/module/client.d.ts +0 -21
- package/dist/module/client.js +0 -559
- package/dist/module/index.d.ts +0 -3
- package/dist/module/index.js +0 -3
- package/dist/module/types.d.ts +0 -179
- package/dist/module/types.js +0 -1
- package/src/client.ts +0 -626
- package/src/index-cjs.ts +0 -117
- package/src/index.ts +0 -118
- package/src/types.ts +0 -410
package/pkg/nodejs.ts
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as core from "./redis"
|
|
2
|
+
import { HttpClient } from "./http"
|
|
3
|
+
import "isomorphic-fetch"
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Connection credentials for upstash redis.
|
|
7
|
+
* Get them from https://console.upstash.com/redis/<uuid>
|
|
8
|
+
*/
|
|
9
|
+
export type RedisConfigNodejs = {
|
|
10
|
+
/**
|
|
11
|
+
* UPSTASH_REDIS_REST_URL
|
|
12
|
+
*/
|
|
13
|
+
url: string
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* UPSTASH_REDIS_REST_TOKEN
|
|
17
|
+
*/
|
|
18
|
+
token: string
|
|
19
|
+
|
|
20
|
+
// requestOptions?: {
|
|
21
|
+
// /**
|
|
22
|
+
// * **fastly only**
|
|
23
|
+
// *
|
|
24
|
+
// * A Request can be forwarded to any backend defined on your service. Backends
|
|
25
|
+
// * can be created via the Fastly CLI, API, or web interface, and are
|
|
26
|
+
// * referenced by name.
|
|
27
|
+
// */
|
|
28
|
+
// backend?: string
|
|
29
|
+
// }
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Serverless redis client for upstash.
|
|
34
|
+
*/
|
|
35
|
+
export class Redis extends core.Redis {
|
|
36
|
+
/**
|
|
37
|
+
* Create a new redis client
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const redis = new Redis({
|
|
42
|
+
* url: "<UPSTASH_REDIS_REST_URL>",
|
|
43
|
+
* token: "<UPSTASH_REDIS_REST_TOKEN>",
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
constructor(config: RedisConfigNodejs) {
|
|
48
|
+
const client = new HttpClient({
|
|
49
|
+
baseUrl: config.url,
|
|
50
|
+
headers: {
|
|
51
|
+
authorization: `Bearer ${config.token}`,
|
|
52
|
+
},
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
super(client)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Create a new Upstash Redis instance from environment variables.
|
|
60
|
+
*
|
|
61
|
+
* Use this to automatically load connection secrets from your environment
|
|
62
|
+
* variables. For instance when using the Vercel integration.
|
|
63
|
+
*
|
|
64
|
+
* This tries to load `UPSTASH_REDIS_REST_URL` and `UPSTASH_REDIS_REST_TOKEN` from
|
|
65
|
+
* your environment using `process.env`.
|
|
66
|
+
*/
|
|
67
|
+
static fromEnv(): Redis {
|
|
68
|
+
if (typeof process?.env === "undefined") {
|
|
69
|
+
throw new Error(
|
|
70
|
+
"Unable to get environment variables, `process.env` is undefined. If you are deploying to cloudflare, please use `Redis.onCloudflare()` instead",
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
const url = process.env["UPSTASH_REDIS_REST_URL"]
|
|
74
|
+
if (!url) {
|
|
75
|
+
throw new Error("Unable to find environment variable: `UPSTASH_REDIS_REST_URL`")
|
|
76
|
+
}
|
|
77
|
+
const token = process.env["UPSTASH_REDIS_REST_TOKEN"]
|
|
78
|
+
if (!token) {
|
|
79
|
+
throw new Error("Unable to find environment variable: `UPSTASH_REDIS_REST_TOKEN`")
|
|
80
|
+
}
|
|
81
|
+
return new Redis({ url, token })
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { Pipeline } from "./pipeline"
|
|
2
|
+
import { keygen, newHttpClient } from "./test-utils"
|
|
3
|
+
import { randomUUID } from "crypto"
|
|
4
|
+
import { describe, it, expect, afterEach } from "@jest/globals"
|
|
5
|
+
const client = newHttpClient()
|
|
6
|
+
|
|
7
|
+
const { newKey, cleanup } = keygen()
|
|
8
|
+
afterEach(cleanup)
|
|
9
|
+
|
|
10
|
+
describe("with single command", () => {
|
|
11
|
+
it("works with multiple commands", async () => {
|
|
12
|
+
const p = new Pipeline(client)
|
|
13
|
+
p.set(newKey(), randomUUID())
|
|
14
|
+
const res = await p.exec()
|
|
15
|
+
expect(res).toHaveLength(1)
|
|
16
|
+
expect(res[0]).toBe("OK")
|
|
17
|
+
})
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
describe("when chaining in a for loop", () => {
|
|
21
|
+
it("works", async () => {
|
|
22
|
+
const key = newKey()
|
|
23
|
+
const res = await new Pipeline(client).set(key, randomUUID()).get(key).exec()
|
|
24
|
+
|
|
25
|
+
expect(res).toHaveLength(2)
|
|
26
|
+
})
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
describe("when chaining inline", () => {
|
|
30
|
+
it("works", async () => {
|
|
31
|
+
const key = newKey()
|
|
32
|
+
const p = new Pipeline(client)
|
|
33
|
+
for (let i = 0; i < 10; i++) {
|
|
34
|
+
p.set(key, randomUUID())
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const res = await p.exec()
|
|
38
|
+
expect(res).toHaveLength(10)
|
|
39
|
+
})
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
describe("when no commands were added", () => {
|
|
43
|
+
it("throws", async () => {
|
|
44
|
+
expect(() => new Pipeline(client).exec()).rejects.toThrowErrorMatchingInlineSnapshot(
|
|
45
|
+
`"Pipeline is empty"`,
|
|
46
|
+
)
|
|
47
|
+
})
|
|
48
|
+
})
|
|
49
|
+
|
|
50
|
+
describe("when one command throws an error", () => {
|
|
51
|
+
it("throws", async () => {
|
|
52
|
+
const p = new Pipeline(client).set("key", "value").hget("key", "field")
|
|
53
|
+
expect(() => p.exec()).rejects.toThrowErrorMatchingInlineSnapshot(
|
|
54
|
+
`"Command 2 [ hget ] failed: WRONGTYPE Operation against a key holding the wrong kind of value"`,
|
|
55
|
+
)
|
|
56
|
+
})
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
describe("use all the things", () => {
|
|
60
|
+
it("works", async () => {
|
|
61
|
+
const p = new Pipeline(client)
|
|
62
|
+
|
|
63
|
+
const persistentKey = newKey()
|
|
64
|
+
const persistentKey2 = newKey()
|
|
65
|
+
|
|
66
|
+
p.append(newKey(), "hello")
|
|
67
|
+
.bitcount(newKey(), 0, 1)
|
|
68
|
+
.bitop("and", newKey(), newKey())
|
|
69
|
+
.bitpos(newKey(), 0, 1)
|
|
70
|
+
.dbsize()
|
|
71
|
+
.decr(newKey())
|
|
72
|
+
.decrby(newKey(), 1)
|
|
73
|
+
.del(newKey())
|
|
74
|
+
.echo("hello")
|
|
75
|
+
.exists(newKey())
|
|
76
|
+
.expire(newKey(), 5)
|
|
77
|
+
.expireat(newKey(), Math.floor(new Date().getTime() / 1000) + 60)
|
|
78
|
+
.flushall()
|
|
79
|
+
.flushdb()
|
|
80
|
+
.get(newKey())
|
|
81
|
+
.getbit(newKey(), 0)
|
|
82
|
+
.getrange(newKey(), 0, 1)
|
|
83
|
+
.getset(newKey(), "hello")
|
|
84
|
+
.hdel(newKey(), "field")
|
|
85
|
+
.hexists(newKey(), "field")
|
|
86
|
+
.hget(newKey(), "field")
|
|
87
|
+
.hgetall(newKey())
|
|
88
|
+
.hincrby(newKey(), "field", 1)
|
|
89
|
+
.hincrbyfloat(newKey(), "field", 1.5)
|
|
90
|
+
.hkeys(newKey())
|
|
91
|
+
.hlen(newKey())
|
|
92
|
+
.hmget(newKey(), newKey())
|
|
93
|
+
.hmset(newKey(), { field: "field", value: "value" })
|
|
94
|
+
.hscan(newKey(), 0)
|
|
95
|
+
.hset(newKey(), "field", "value")
|
|
96
|
+
.hsetnx(newKey(), "field", "value")
|
|
97
|
+
.hstrlen(newKey(), "field")
|
|
98
|
+
.hvals(newKey())
|
|
99
|
+
.incr(newKey())
|
|
100
|
+
.incrby(newKey(), 1)
|
|
101
|
+
.incrbyfloat(newKey(), 1.5)
|
|
102
|
+
.keys("*")
|
|
103
|
+
.lindex(newKey(), 0)
|
|
104
|
+
.linsert(newKey(), "before", "pivot", "value")
|
|
105
|
+
.llen(newKey())
|
|
106
|
+
.lpop(newKey())
|
|
107
|
+
.lpush(persistentKey, "element")
|
|
108
|
+
.lpushx(newKey(), "element1", "element2")
|
|
109
|
+
.lrange(newKey(), 0, 1)
|
|
110
|
+
.lrem(newKey(), 1, "value")
|
|
111
|
+
.lset(persistentKey, "value", 0)
|
|
112
|
+
.ltrim(newKey(), 0, 1)
|
|
113
|
+
.mget<[string, string]>(newKey(), newKey())
|
|
114
|
+
.mset({ key1: "value", key2: "value" })
|
|
115
|
+
.msetnx({ key3: "value", key4: "value" })
|
|
116
|
+
.persist(newKey())
|
|
117
|
+
.pexpire(newKey(), 1000)
|
|
118
|
+
.pexpireat(newKey(), new Date().getTime() + 1000)
|
|
119
|
+
.ping()
|
|
120
|
+
.psetex(newKey(), 1, "value")
|
|
121
|
+
.pttl(newKey())
|
|
122
|
+
.randomkey()
|
|
123
|
+
.rename(persistentKey, persistentKey2)
|
|
124
|
+
.renamenx(persistentKey2, newKey())
|
|
125
|
+
.rpop(newKey())
|
|
126
|
+
.rpush(newKey(), "element1", "element2")
|
|
127
|
+
.rpushx(newKey(), "element1", "element2")
|
|
128
|
+
.sadd(newKey(), "memeber1", "member2")
|
|
129
|
+
.scan(0)
|
|
130
|
+
.scard(newKey())
|
|
131
|
+
.sdiff(newKey())
|
|
132
|
+
.sdiffstore(newKey(), newKey())
|
|
133
|
+
.set(newKey(), "value")
|
|
134
|
+
.setbit(newKey(), 1, 1)
|
|
135
|
+
.setex(newKey(), 1, "value")
|
|
136
|
+
.setnx(newKey(), "value")
|
|
137
|
+
.setrange(newKey(), 1, "value")
|
|
138
|
+
.sinter(newKey(), newKey())
|
|
139
|
+
.sinterstore(newKey(), newKey())
|
|
140
|
+
.sismember(newKey(), "member")
|
|
141
|
+
.smembers(newKey())
|
|
142
|
+
.smove(newKey(), newKey(), "member")
|
|
143
|
+
.spop(newKey())
|
|
144
|
+
.srandmember(newKey())
|
|
145
|
+
.srem(newKey(), "member")
|
|
146
|
+
.sscan(newKey(), 0)
|
|
147
|
+
.strlen(newKey())
|
|
148
|
+
.sunion(newKey())
|
|
149
|
+
.sunionstore(newKey(), newKey())
|
|
150
|
+
.time()
|
|
151
|
+
.touch()
|
|
152
|
+
.ttl(newKey())
|
|
153
|
+
.type(newKey())
|
|
154
|
+
.unlink()
|
|
155
|
+
.zadd(newKey(), { score: 0, member: "member" })
|
|
156
|
+
.zcard(newKey())
|
|
157
|
+
.zcount(newKey(), 0, 1)
|
|
158
|
+
.zincrby(newKey(), 1, "member")
|
|
159
|
+
.zinterstore(newKey(), 1, [newKey()])
|
|
160
|
+
.zlexcount(newKey(), "-", "+")
|
|
161
|
+
.zpopmax(newKey())
|
|
162
|
+
.zpopmin(newKey())
|
|
163
|
+
.zrange(newKey(), 0, 1)
|
|
164
|
+
.zrank(newKey(), "member")
|
|
165
|
+
.zrem(newKey(), "member")
|
|
166
|
+
.zremrangebylex(newKey(), "-", "+")
|
|
167
|
+
.zremrangebyrank(newKey(), 0, 1)
|
|
168
|
+
.zremrangebyscore(newKey(), 0, 1)
|
|
169
|
+
.zrevrank(newKey(), "member")
|
|
170
|
+
.zscan(newKey(), 0)
|
|
171
|
+
.zscore(newKey(), "member")
|
|
172
|
+
.zunionstore(newKey(), 1, [newKey()])
|
|
173
|
+
|
|
174
|
+
const res = await p.exec()
|
|
175
|
+
expect(res).toHaveLength(107)
|
|
176
|
+
})
|
|
177
|
+
})
|