koatty_store 1.5.4 → 1.5.6
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/.rollup.config.js +63 -0
- package/CHANGELOG.md +9 -0
- package/dist/LICENSE +29 -0
- package/dist/README.md +2 -0
- package/dist/index.d.ts +866 -49
- package/dist/index.js +1913 -51
- package/dist/{store/memory_cache.js → index.mjs} +1885 -1148
- package/dist/package.json +92 -0
- package/package.json +31 -24
- package/.eslintignore +0 -9
- package/.eslintrc.js +0 -43
- package/babel.config.js +0 -21
- package/commitlint.config.js +0 -14
- package/dist/index.js.map +0 -1
- package/dist/store/memory.d.ts +0 -53
- package/dist/store/memory.js +0 -96
- package/dist/store/memory.js.map +0 -1
- package/dist/store/memory_cache.d.ts +0 -553
- package/dist/store/memory_cache.js.map +0 -1
- package/dist/store/redis.d.ts +0 -73
- package/dist/store/redis.js +0 -228
- package/dist/store/redis.js.map +0 -1
- package/dist/store.d.ts +0 -252
- package/dist/store.js +0 -383
- package/dist/store.js.map +0 -1
- package/jest.config.js +0 -36
- package/jest_html_reporters.html +0 -60
- package/tsconfig.json +0 -67
package/dist/store/redis.js
DELETED
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RedisStore = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
/*
|
|
6
|
-
* @Author: richen
|
|
7
|
-
* @Date: 2020-11-30 15:56:08
|
|
8
|
-
* @LastEditors: Please set LastEditors
|
|
9
|
-
* @LastEditTime: 2021-12-02 15:30:11
|
|
10
|
-
* @License: BSD (3-Clause)
|
|
11
|
-
* @Copyright (c) - <richenlin(at)gmail.com>
|
|
12
|
-
*/
|
|
13
|
-
const helper = (0, tslib_1.__importStar)(require("koatty_lib"));
|
|
14
|
-
const koatty_logger_1 = require("koatty_logger");
|
|
15
|
-
const ioredis_1 = (0, tslib_1.__importDefault)(require("ioredis"));
|
|
16
|
-
const generic_pool_1 = (0, tslib_1.__importDefault)(require("generic-pool"));
|
|
17
|
-
const store_1 = require("../store");
|
|
18
|
-
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* @export
|
|
22
|
-
* @class RedisStore
|
|
23
|
-
*/
|
|
24
|
-
class RedisStore extends store_1.CacheStore {
|
|
25
|
-
/**
|
|
26
|
-
* Creates an instance of RedisStore.
|
|
27
|
-
* @param {StoreOptions} options
|
|
28
|
-
* @memberof RedisStore
|
|
29
|
-
*/
|
|
30
|
-
constructor(options) {
|
|
31
|
-
super(options);
|
|
32
|
-
this.options = this.parseOpt(options);
|
|
33
|
-
this.pool = null;
|
|
34
|
-
this.client = null;
|
|
35
|
-
}
|
|
36
|
-
// parseOpt
|
|
37
|
-
parseOpt(options) {
|
|
38
|
-
const opt = {
|
|
39
|
-
host: options.host || '127.0.0.1',
|
|
40
|
-
port: options.port || 3306,
|
|
41
|
-
username: options.username || "",
|
|
42
|
-
password: options.password || "",
|
|
43
|
-
db: options.db || 0,
|
|
44
|
-
timeout: options.timeout,
|
|
45
|
-
keyPrefix: options.keyPrefix || '',
|
|
46
|
-
poolSize: options.poolSize || 10,
|
|
47
|
-
connectTimeout: options.connectTimeout || 500,
|
|
48
|
-
};
|
|
49
|
-
if (helper.isArray(options.host)) {
|
|
50
|
-
const hosts = [];
|
|
51
|
-
for (let i = 0; i < options.host.length; i++) {
|
|
52
|
-
const h = options.host[i];
|
|
53
|
-
if (!helper.isEmpty(options.host[i])) {
|
|
54
|
-
let p;
|
|
55
|
-
if (helper.isArray(options.port)) {
|
|
56
|
-
p = options.port[i];
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
p = options.port || 6379;
|
|
60
|
-
}
|
|
61
|
-
hosts.push({
|
|
62
|
-
host: h,
|
|
63
|
-
port: helper.toNumber(p),
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
// sentinel
|
|
68
|
-
if (!helper.isEmpty(options.name)) {
|
|
69
|
-
opt.host = "";
|
|
70
|
-
opt.port = null;
|
|
71
|
-
opt.sentinels = [...hosts];
|
|
72
|
-
opt.sentinelUsername = options.username;
|
|
73
|
-
opt.sentinelPassword = options.password;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
// cluster
|
|
77
|
-
opt.host = "";
|
|
78
|
-
opt.port = null;
|
|
79
|
-
opt.clusters = [...hosts];
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return opt;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* create connection by native
|
|
86
|
-
*
|
|
87
|
-
* @param {number} [connNum=0]
|
|
88
|
-
* @returns {*} {Promise<IORedis.Redis | IORedis.Cluster>}
|
|
89
|
-
* @memberof RedisStore
|
|
90
|
-
*/
|
|
91
|
-
async connect(connNum = 0) {
|
|
92
|
-
if (this.client && this.client.status === 'ready') {
|
|
93
|
-
return this.client;
|
|
94
|
-
}
|
|
95
|
-
const defer = helper.getDefer();
|
|
96
|
-
let connection;
|
|
97
|
-
if (!helper.isEmpty(this.options.clusters)) {
|
|
98
|
-
connection = new ioredis_1.default.Cluster([...this.options.clusters], { redisOptions: this.options });
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
connection = new ioredis_1.default(this.options);
|
|
102
|
-
}
|
|
103
|
-
connection.on('end', () => {
|
|
104
|
-
if (connNum < 3) {
|
|
105
|
-
connNum++;
|
|
106
|
-
defer.resolve(this.connect(connNum));
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
this.close();
|
|
110
|
-
defer.reject('redis connection end');
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
connection.on('ready', () => {
|
|
114
|
-
this.client = connection;
|
|
115
|
-
defer.resolve(connection);
|
|
116
|
-
});
|
|
117
|
-
return defer.promise;
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* get connection from pool
|
|
121
|
-
*
|
|
122
|
-
* @returns {*}
|
|
123
|
-
* @memberof RedisStore
|
|
124
|
-
*/
|
|
125
|
-
getConnection() {
|
|
126
|
-
if (!this.pool || !this.pool.acquire) {
|
|
127
|
-
const factory = {
|
|
128
|
-
create: () => {
|
|
129
|
-
return this.connect();
|
|
130
|
-
},
|
|
131
|
-
destroy: () => {
|
|
132
|
-
return this.close();
|
|
133
|
-
},
|
|
134
|
-
validate: (resource) => {
|
|
135
|
-
return Promise.resolve(resource.status === 'ready');
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
this.pool = generic_pool_1.default.createPool(factory, {
|
|
139
|
-
max: this.options.poolSize || 10,
|
|
140
|
-
min: 2 // minimum size of the pool
|
|
141
|
-
});
|
|
142
|
-
this.pool.on('factoryCreateError', function (err) {
|
|
143
|
-
koatty_logger_1.DefaultLogger.Error(err);
|
|
144
|
-
});
|
|
145
|
-
this.pool.on('factoryDestroyError', function (err) {
|
|
146
|
-
koatty_logger_1.DefaultLogger.Error(err);
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
return this.pool.acquire();
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* close connection
|
|
153
|
-
*
|
|
154
|
-
* @returns {*}
|
|
155
|
-
* @memberof RedisStore
|
|
156
|
-
*/
|
|
157
|
-
async close() {
|
|
158
|
-
this.client.disconnect();
|
|
159
|
-
this.client = null;
|
|
160
|
-
this.pool.destroy(this.client);
|
|
161
|
-
this.pool = null;
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
* @param {*} conn
|
|
168
|
-
* @returns {*}
|
|
169
|
-
* @memberof RedisStore
|
|
170
|
-
*/
|
|
171
|
-
async release(conn) {
|
|
172
|
-
if (this.pool.isBorrowedResource(conn)) {
|
|
173
|
-
return this.pool.release(conn);
|
|
174
|
-
}
|
|
175
|
-
return Promise.resolve();
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* defineCommand
|
|
179
|
-
*
|
|
180
|
-
* @param {string} name
|
|
181
|
-
* @param {{ numberOfKeys?: number; lua?: string; }} scripts
|
|
182
|
-
* @returns {*}
|
|
183
|
-
* @memberof RedisStore
|
|
184
|
-
*/
|
|
185
|
-
async defineCommand(name, scripts) {
|
|
186
|
-
const conn = await this.getConnection();
|
|
187
|
-
if (!conn[name]) {
|
|
188
|
-
conn.defineCommand(name, scripts);
|
|
189
|
-
}
|
|
190
|
-
return conn;
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* get and compare value
|
|
194
|
-
*
|
|
195
|
-
* @param {string} name
|
|
196
|
-
* @param {(string | number)} value
|
|
197
|
-
* @returns {*} {Promise<any>}
|
|
198
|
-
* @memberof RedisStore
|
|
199
|
-
*/
|
|
200
|
-
async getCompare(name, value) {
|
|
201
|
-
let conn;
|
|
202
|
-
try {
|
|
203
|
-
conn = await this.defineCommand("getCompare", {
|
|
204
|
-
numberOfKeys: 1,
|
|
205
|
-
lua: `
|
|
206
|
-
local remote_value = redis.call("get",KEYS[1])
|
|
207
|
-
|
|
208
|
-
if (not remote_value) then
|
|
209
|
-
return 0
|
|
210
|
-
elseif (remote_value == ARGV[1]) then
|
|
211
|
-
return redis.call("del",KEYS[1])
|
|
212
|
-
else
|
|
213
|
-
return -1
|
|
214
|
-
end
|
|
215
|
-
`
|
|
216
|
-
});
|
|
217
|
-
return conn.getCompare(name, value);
|
|
218
|
-
}
|
|
219
|
-
catch (error) {
|
|
220
|
-
throw error;
|
|
221
|
-
}
|
|
222
|
-
finally {
|
|
223
|
-
this.release(conn);
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
exports.RedisStore = RedisStore;
|
|
228
|
-
//# sourceMappingURL=redis.js.map
|
package/dist/store/redis.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redis.js","sourceRoot":"","sources":["../../src/store/redis.ts"],"names":[],"mappings":";;;;AAAA;;;;;;;GAOG;AACH,gEAAqC;AACrC,iDAAwD;AACxD,mEAA8B;AAC9B,6EAAuC;AAEvC,oCAAsC;AAEtC;;;;;GAKG;AACH,MAAa,UAAW,SAAQ,kBAAU;IAKtC;;;;OAIG;IACH,YAAY,OAAqB;QAC7B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,WAAW;IACH,QAAQ,CAAC,OAAqB;QAClC,MAAM,GAAG,GAAiB;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,WAAW;YACjC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,GAAG;SAChD,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9B,MAAM,KAAK,GAA0C,EAAE,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;oBAClC,IAAI,CAAS,CAAC;oBACd,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;wBAC9B,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACvB;yBAAM;wBACH,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;qBAC5B;oBACD,KAAK,CAAC,IAAI,CAAC;wBACP,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;qBAC3B,CAAC,CAAA;iBACL;aACJ;YACD,WAAW;YACX,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC/B,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;gBAChB,GAAG,CAAC,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC3B,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACxC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;aAC3C;iBAAM;gBACH,UAAU;gBACV,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;gBAChB,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;aAC7B;SACJ;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC;QAC7B,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE;YAC/C,OAAO,IAAI,CAAC,MAAM,CAAC;SACtB;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,UAA2C,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACxC,UAAU,GAAG,IAAI,iBAAO,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAoB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;SACjH;aAAM;YACH,UAAU,GAAG,IAAI,iBAAO,CAAmB,IAAI,CAAC,OAAO,CAAC,CAAA;SAC3D;QACD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACtB,IAAI,OAAO,GAAG,CAAC,EAAE;gBACb,OAAO,EAAE,CAAC;gBACV,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;aACxC;iBAAM;gBACH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;aACxC;QACL,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;YACzB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,OAAO,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,aAAa;QACT,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAClC,MAAM,OAAO,GAAG;gBACZ,MAAM,EAAE,GAAG,EAAE;oBACT,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC1B,CAAC;gBACD,OAAO,EAAE,GAAG,EAAE;oBACV,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;gBACxB,CAAC;gBACD,QAAQ,EAAE,CAAC,QAAyC,EAAE,EAAE;oBACpD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;gBACxD,CAAC;aACJ,CAAC;YACF,IAAI,CAAC,IAAI,GAAG,sBAAW,CAAC,UAAU,CAAC,OAAO,EAAE;gBACxC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE;gBAChC,GAAG,EAAE,CAAC,CAAC,2BAA2B;aACrC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,UAAU,GAAG;gBAC5C,6BAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,UAAU,GAAG;gBAC7C,6BAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;SACN;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO;IACX,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,IAAS;QACnB,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;YACpC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAClC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,OAAiD;QAC/E,MAAM,IAAI,GAAQ,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACb,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACrC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY,EAAE,KAAsB;QACjD,IAAI,IAAS,CAAC;QACd,IAAI;YACA,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;gBAC1C,YAAY,EAAE,CAAC;gBACf,GAAG,EAAE;;;;;;;;;;aAUR;aAAC,CAAC,CAAC;YACJ,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACvC;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,KAAK,CAAC;SACf;gBAAS;YACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACtB;IACL,CAAC;CACJ;AAnND,gCAmNC"}
|
package/dist/store.d.ts
DELETED
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
import { StoreOptions } from "./index";
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* @export
|
|
6
|
-
* @class Store
|
|
7
|
-
*/
|
|
8
|
-
export declare class CacheStore {
|
|
9
|
-
client: any;
|
|
10
|
-
pool: any;
|
|
11
|
-
options: StoreOptions;
|
|
12
|
-
/**
|
|
13
|
-
* Creates an instance of CacheStore.
|
|
14
|
-
* @param {StoreOptions} options
|
|
15
|
-
* @memberof CacheStore
|
|
16
|
-
*/
|
|
17
|
-
constructor(options: StoreOptions);
|
|
18
|
-
getConnection(): void;
|
|
19
|
-
close(): Promise<void>;
|
|
20
|
-
release(conn: any): Promise<void>;
|
|
21
|
-
defineCommand(name: string, scripts: any): void;
|
|
22
|
-
getCompare(name: string, value: string | number): Promise<any>;
|
|
23
|
-
/**
|
|
24
|
-
* handler for native client
|
|
25
|
-
*
|
|
26
|
-
* @param {string} name
|
|
27
|
-
* @param {any[]} data
|
|
28
|
-
* @returns {*}
|
|
29
|
-
* @memberof RedisStore
|
|
30
|
-
*/
|
|
31
|
-
protected wrap(name: string, data: any[]): Promise<any>;
|
|
32
|
-
/**
|
|
33
|
-
* 字符串获取
|
|
34
|
-
* @param name
|
|
35
|
-
*/
|
|
36
|
-
get(name: string): Promise<any>;
|
|
37
|
-
/**
|
|
38
|
-
* 字符串写入
|
|
39
|
-
* @param name
|
|
40
|
-
* @param value
|
|
41
|
-
* @param timeout
|
|
42
|
-
* @returns {Promise}
|
|
43
|
-
*/
|
|
44
|
-
set(name: string, value: string | number, timeout?: number): Promise<any>;
|
|
45
|
-
/**
|
|
46
|
-
* 以秒为单位,返回给定 key 的剩余生存时间
|
|
47
|
-
* @param name
|
|
48
|
-
* @returns {*}
|
|
49
|
-
*/
|
|
50
|
-
ttl(name: string): Promise<any>;
|
|
51
|
-
/**
|
|
52
|
-
* 设置key超时属性
|
|
53
|
-
* @param name
|
|
54
|
-
* @param timeout
|
|
55
|
-
*/
|
|
56
|
-
expire(name: string, timeout?: number): Promise<any>;
|
|
57
|
-
/**
|
|
58
|
-
* 删除key
|
|
59
|
-
* @param name
|
|
60
|
-
*/
|
|
61
|
-
rm(name: string): Promise<any>;
|
|
62
|
-
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
* @param {*} name
|
|
66
|
-
* @returns
|
|
67
|
-
*/
|
|
68
|
-
del(name: string): Promise<any>;
|
|
69
|
-
/**
|
|
70
|
-
* 判断key是否存在
|
|
71
|
-
* @param name
|
|
72
|
-
*/
|
|
73
|
-
exists(name: string): Promise<any>;
|
|
74
|
-
/**
|
|
75
|
-
* 自增
|
|
76
|
-
* @param name
|
|
77
|
-
*/
|
|
78
|
-
incr(name: string): Promise<any>;
|
|
79
|
-
/**
|
|
80
|
-
* 自减
|
|
81
|
-
* @param name
|
|
82
|
-
* @returns {*}
|
|
83
|
-
*/
|
|
84
|
-
decr(name: string): Promise<any>;
|
|
85
|
-
/**
|
|
86
|
-
* 将 key 所储存的值增加增量
|
|
87
|
-
* @param name
|
|
88
|
-
* @param incr
|
|
89
|
-
* @returns {*}
|
|
90
|
-
*/
|
|
91
|
-
incrby(name: string, incr?: number): Promise<any>;
|
|
92
|
-
/**
|
|
93
|
-
* 将 key 所储存的值减去减量
|
|
94
|
-
*
|
|
95
|
-
* @param {any} name
|
|
96
|
-
* @param {any} decr
|
|
97
|
-
*/
|
|
98
|
-
decrby(name: string, decr?: number): Promise<any>;
|
|
99
|
-
/**
|
|
100
|
-
* 哈希写入
|
|
101
|
-
* @param name
|
|
102
|
-
* @param key
|
|
103
|
-
* @param value
|
|
104
|
-
* @param timeout
|
|
105
|
-
*/
|
|
106
|
-
hset(name: string, key: string, value: string | number, timeout?: number): Promise<any[]>;
|
|
107
|
-
/**
|
|
108
|
-
* 哈希获取
|
|
109
|
-
* @param name
|
|
110
|
-
* @param key
|
|
111
|
-
* @returns {*}
|
|
112
|
-
*/
|
|
113
|
-
hget(name: string, key: string): Promise<any>;
|
|
114
|
-
/**
|
|
115
|
-
* 查看哈希表 hashKey 中,给定域 key 是否存在
|
|
116
|
-
* @param name
|
|
117
|
-
* @param key
|
|
118
|
-
* @returns {*}
|
|
119
|
-
*/
|
|
120
|
-
hexists(name: string, key: string): Promise<any>;
|
|
121
|
-
/**
|
|
122
|
-
* 哈希删除
|
|
123
|
-
* @param name
|
|
124
|
-
* @param key
|
|
125
|
-
* @returns {*}
|
|
126
|
-
*/
|
|
127
|
-
hdel(name: string, key: string): Promise<any[]>;
|
|
128
|
-
/**
|
|
129
|
-
* 返回哈希表 key 中域的数量
|
|
130
|
-
* @param name
|
|
131
|
-
* @returns {*}
|
|
132
|
-
*/
|
|
133
|
-
hlen(name: string): Promise<any>;
|
|
134
|
-
/**
|
|
135
|
-
* 给哈希表指定key,增加increment
|
|
136
|
-
* @param name
|
|
137
|
-
* @param key
|
|
138
|
-
* @param incr
|
|
139
|
-
* @returns {*}
|
|
140
|
-
*/
|
|
141
|
-
hincrby(name: string, key: string, incr?: number): Promise<any>;
|
|
142
|
-
/**
|
|
143
|
-
* 返回哈希表所有key-value
|
|
144
|
-
* @param name
|
|
145
|
-
* @returns {*}
|
|
146
|
-
*/
|
|
147
|
-
hgetall(name: string): Promise<any>;
|
|
148
|
-
/**
|
|
149
|
-
* 返回哈希表所有key
|
|
150
|
-
* @param name
|
|
151
|
-
* @returns {*}
|
|
152
|
-
*/
|
|
153
|
-
hkeys(name: string): Promise<any>;
|
|
154
|
-
/**
|
|
155
|
-
* 返回哈希表所有value
|
|
156
|
-
* @param name
|
|
157
|
-
* @returns {*}
|
|
158
|
-
*/
|
|
159
|
-
hvals(name: string): Promise<any>;
|
|
160
|
-
/**
|
|
161
|
-
* 判断列表长度,若不存在则表示为空
|
|
162
|
-
* @param name
|
|
163
|
-
* @returns {*}
|
|
164
|
-
*/
|
|
165
|
-
llen(name: string): Promise<any>;
|
|
166
|
-
/**
|
|
167
|
-
* 将值插入列表表尾
|
|
168
|
-
* @param name
|
|
169
|
-
* @param value
|
|
170
|
-
* @returns {*}
|
|
171
|
-
*/
|
|
172
|
-
rpush(name: string, value: string | number): Promise<any>;
|
|
173
|
-
/**
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
* @param {string} name
|
|
177
|
-
* @param {(string | number)} value
|
|
178
|
-
* @returns {*}
|
|
179
|
-
* @memberof RedisStore
|
|
180
|
-
*/
|
|
181
|
-
lpush(name: string, value: string | number): Promise<any>;
|
|
182
|
-
/**
|
|
183
|
-
* 将列表表头取出,并去除
|
|
184
|
-
* @param name
|
|
185
|
-
* @returns {*}
|
|
186
|
-
*/
|
|
187
|
-
lpop(name: string): Promise<any>;
|
|
188
|
-
/**
|
|
189
|
-
*
|
|
190
|
-
*
|
|
191
|
-
* @param {string} name
|
|
192
|
-
* @returns {*}
|
|
193
|
-
* @memberof RedisStore
|
|
194
|
-
*/
|
|
195
|
-
rpop(name: string): Promise<any>;
|
|
196
|
-
/**
|
|
197
|
-
* 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定
|
|
198
|
-
* @param name
|
|
199
|
-
* @param start
|
|
200
|
-
* @param stop
|
|
201
|
-
* @returns {*}
|
|
202
|
-
*/
|
|
203
|
-
lrange(name: string, start: number, stop: number): Promise<any>;
|
|
204
|
-
/**
|
|
205
|
-
* 集合新增
|
|
206
|
-
* @param name
|
|
207
|
-
* @param value
|
|
208
|
-
* @param timeout
|
|
209
|
-
* @returns {*}
|
|
210
|
-
*/
|
|
211
|
-
sadd(name: string, value: string | number, timeout?: number): Promise<any[]>;
|
|
212
|
-
/**
|
|
213
|
-
* 返回集合的基数(集合中元素的数量)
|
|
214
|
-
* @param name
|
|
215
|
-
* @returns {*}
|
|
216
|
-
*/
|
|
217
|
-
scard(name: string): Promise<any>;
|
|
218
|
-
/**
|
|
219
|
-
* 判断 member 元素是否集合的成员
|
|
220
|
-
* @param name
|
|
221
|
-
* @param key
|
|
222
|
-
* @returns {*}
|
|
223
|
-
*/
|
|
224
|
-
sismember(name: string, key: string): Promise<any>;
|
|
225
|
-
/**
|
|
226
|
-
* 返回集合中的所有成员
|
|
227
|
-
* @param name
|
|
228
|
-
* @returns {*}
|
|
229
|
-
*/
|
|
230
|
-
smembers(name: string): Promise<any>;
|
|
231
|
-
/**
|
|
232
|
-
* 移除并返回集合中的一个随机元素
|
|
233
|
-
* @param name
|
|
234
|
-
* @returns {*}
|
|
235
|
-
*/
|
|
236
|
-
spop(name: string): Promise<any>;
|
|
237
|
-
/**
|
|
238
|
-
* 移除集合 key 中的一个 member 元素
|
|
239
|
-
* @param name
|
|
240
|
-
* @param key
|
|
241
|
-
* @returns {*}
|
|
242
|
-
*/
|
|
243
|
-
srem(name: string, key: string): Promise<any>;
|
|
244
|
-
/**
|
|
245
|
-
* 将 member 元素从 source 集合移动到 destination 集合
|
|
246
|
-
* @param source
|
|
247
|
-
* @param destination
|
|
248
|
-
* @param member
|
|
249
|
-
* @returns {*}
|
|
250
|
-
*/
|
|
251
|
-
smove(source: string, destination: string, member: string): Promise<any>;
|
|
252
|
-
}
|