@pangza/redis 0.0.0-stage → 1.0.1

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.
Files changed (86) hide show
  1. package/README.md +2 -2
  2. package/dist/Redis.d.ts +98 -0
  3. package/dist/Redis.d.ts.map +1 -0
  4. package/dist/Redis.js +678 -0
  5. package/dist/Redis.js.map +1 -0
  6. package/dist/cache.d.ts +16 -0
  7. package/dist/cache.d.ts.map +1 -0
  8. package/dist/cache.js +82 -0
  9. package/dist/cache.js.map +1 -0
  10. package/dist/decorators.d.ts +15 -0
  11. package/dist/decorators.d.ts.map +1 -0
  12. package/dist/decorators.js +30 -0
  13. package/dist/decorators.js.map +1 -0
  14. package/dist/enable.d.ts +12 -0
  15. package/dist/enable.d.ts.map +1 -0
  16. package/dist/enable.js +30 -0
  17. package/dist/enable.js.map +1 -0
  18. package/dist/errors.d.ts +11 -0
  19. package/dist/errors.d.ts.map +1 -0
  20. package/dist/errors.js +22 -0
  21. package/dist/errors.js.map +1 -0
  22. package/dist/flag.d.ts +2 -0
  23. package/dist/flag.d.ts.map +1 -0
  24. package/dist/flag.js +8 -0
  25. package/dist/flag.js.map +1 -0
  26. package/dist/index.d.ts +12 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +43 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/rateLimit.d.ts +15 -0
  31. package/dist/rateLimit.d.ts.map +1 -0
  32. package/dist/rateLimit.js +90 -0
  33. package/dist/rateLimit.js.map +1 -0
  34. package/dist/redisson/RCountDownLatch.d.ts +12 -0
  35. package/dist/redisson/RCountDownLatch.d.ts.map +1 -0
  36. package/dist/redisson/RCountDownLatch.js +48 -0
  37. package/dist/redisson/RCountDownLatch.js.map +1 -0
  38. package/dist/redisson/RFairLock.d.ts +7 -0
  39. package/dist/redisson/RFairLock.d.ts.map +1 -0
  40. package/dist/redisson/RFairLock.js +32 -0
  41. package/dist/redisson/RFairLock.js.map +1 -0
  42. package/dist/redisson/RLock.d.ts +44 -0
  43. package/dist/redisson/RLock.d.ts.map +1 -0
  44. package/dist/redisson/RLock.js +156 -0
  45. package/dist/redisson/RLock.js.map +1 -0
  46. package/dist/redisson/RMultiLock.d.ts +18 -0
  47. package/dist/redisson/RMultiLock.d.ts.map +1 -0
  48. package/dist/redisson/RMultiLock.js +95 -0
  49. package/dist/redisson/RMultiLock.js.map +1 -0
  50. package/dist/redisson/RReadWriteLock.d.ts +9 -0
  51. package/dist/redisson/RReadWriteLock.d.ts.map +1 -0
  52. package/dist/redisson/RReadWriteLock.js +51 -0
  53. package/dist/redisson/RReadWriteLock.js.map +1 -0
  54. package/dist/redisson/RSemaphore.d.ts +13 -0
  55. package/dist/redisson/RSemaphore.d.ts.map +1 -0
  56. package/dist/redisson/RSemaphore.js +55 -0
  57. package/dist/redisson/RSemaphore.js.map +1 -0
  58. package/dist/redisson/Redisson.d.ts +45 -0
  59. package/dist/redisson/Redisson.d.ts.map +1 -0
  60. package/dist/redisson/Redisson.js +111 -0
  61. package/dist/redisson/Redisson.js.map +1 -0
  62. package/dist/redisson/index.d.ts +12 -0
  63. package/dist/redisson/index.d.ts.map +1 -0
  64. package/dist/redisson/index.js +32 -0
  65. package/dist/redisson/index.js.map +1 -0
  66. package/dist/redisson/objects.d.ts +116 -0
  67. package/dist/redisson/objects.d.ts.map +1 -0
  68. package/dist/redisson/objects.js +384 -0
  69. package/dist/redisson/objects.js.map +1 -0
  70. package/dist/redisson/scripts.d.ts +22 -0
  71. package/dist/redisson/scripts.d.ts.map +1 -0
  72. package/dist/redisson/scripts.js +196 -0
  73. package/dist/redisson/scripts.js.map +1 -0
  74. package/dist/redisson/types.d.ts +140 -0
  75. package/dist/redisson/types.d.ts.map +1 -0
  76. package/dist/redisson/types.js +8 -0
  77. package/dist/redisson/types.js.map +1 -0
  78. package/dist/redisson/utils.d.ts +12 -0
  79. package/dist/redisson/utils.d.ts.map +1 -0
  80. package/dist/redisson/utils.js +82 -0
  81. package/dist/redisson/utils.js.map +1 -0
  82. package/dist/types.d.ts +141 -0
  83. package/dist/types.d.ts.map +1 -0
  84. package/dist/types.js +25 -0
  85. package/dist/types.js.map +1 -0
  86. package/package.json +36 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/redisson/objects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /** Redisson 风格可重入锁:成功返回 null,失败返回剩余 TTL(ms) */
2
+ export declare const LOCK_ACQUIRE_LUA: string;
3
+ /** 看门狗续期 */
4
+ export declare const LOCK_RENEW_LUA: string;
5
+ /**
6
+ * 解锁:ARGV[1]=unlock message, ARGV[2]=leaseMs, ARGV[3]=field
7
+ * 返回 nil=非持有者;0=重入减一;1=完全释放并 publish
8
+ */
9
+ export declare const LOCK_UNLOCK_LUA: string;
10
+ export declare const LOCK_FORCE_UNLOCK_LUA: string;
11
+ /** 公平锁:队列头才可获取 */
12
+ export declare const FAIR_LOCK_ACQUIRE_LUA: string;
13
+ /** 读锁:无写锁时共享 */
14
+ export declare const READ_LOCK_ACQUIRE_LUA: string;
15
+ export declare const READ_LOCK_UNLOCK_LUA: string;
16
+ /** 写锁:独占 */
17
+ export declare const WRITE_LOCK_ACQUIRE_LUA: string;
18
+ export declare const WRITE_LOCK_UNLOCK_LUA: string;
19
+ export declare const SEMAPHORE_TRY_ACQUIRE_LUA: string;
20
+ export declare const SEMAPHORE_RELEASE_LUA: string;
21
+ export declare const COUNTDOWN_COUNTDOWN_LUA: string;
22
+ //# sourceMappingURL=scripts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../../src/redisson/scripts.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,QAYrB,CAAC;AAET,YAAY;AACZ,eAAO,MAAM,cAAc,QAMnB,CAAC;AAET;;;GAGG;AACH,eAAO,MAAM,eAAe,QAapB,CAAC;AAET,eAAO,MAAM,qBAAqB,QAM1B,CAAC;AAET,kBAAkB;AAClB,eAAO,MAAM,qBAAqB,QAkC1B,CAAC;AAET,gBAAgB;AAChB,eAAO,MAAM,qBAAqB,QAmB1B,CAAC;AAET,eAAO,MAAM,oBAAoB,QAwBzB,CAAC;AAET,YAAY;AACZ,eAAO,MAAM,sBAAsB,QAgB3B,CAAC;AAET,eAAO,MAAM,qBAAqB,QAgB1B,CAAC;AAET,eAAO,MAAM,yBAAyB,QAY9B,CAAC;AAET,eAAO,MAAM,qBAAqB,QAK1B,CAAC;AAET,eAAO,MAAM,uBAAuB,QAQ5B,CAAC"}
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COUNTDOWN_COUNTDOWN_LUA = exports.SEMAPHORE_RELEASE_LUA = exports.SEMAPHORE_TRY_ACQUIRE_LUA = exports.WRITE_LOCK_UNLOCK_LUA = exports.WRITE_LOCK_ACQUIRE_LUA = exports.READ_LOCK_UNLOCK_LUA = exports.READ_LOCK_ACQUIRE_LUA = exports.FAIR_LOCK_ACQUIRE_LUA = exports.LOCK_FORCE_UNLOCK_LUA = exports.LOCK_UNLOCK_LUA = exports.LOCK_RENEW_LUA = exports.LOCK_ACQUIRE_LUA = void 0;
4
+ /** Redisson 风格可重入锁:成功返回 null,失败返回剩余 TTL(ms) */
5
+ exports.LOCK_ACQUIRE_LUA = `
6
+ if (redis.call('exists', KEYS[1]) == 0) then
7
+ redis.call('hincrby', KEYS[1], ARGV[2], 1);
8
+ redis.call('pexpire', KEYS[1], ARGV[1]);
9
+ return nil;
10
+ end;
11
+ if (redis.call('hexists', KEYS[1], ARGV[2]) == 1) then
12
+ redis.call('hincrby', KEYS[1], ARGV[2], 1);
13
+ redis.call('pexpire', KEYS[1], ARGV[1]);
14
+ return nil;
15
+ end;
16
+ return redis.call('pttl', KEYS[1]);
17
+ `.trim();
18
+ /** 看门狗续期 */
19
+ exports.LOCK_RENEW_LUA = `
20
+ if (redis.call('hexists', KEYS[1], ARGV[2]) == 1) then
21
+ redis.call('pexpire', KEYS[1], ARGV[1]);
22
+ return 1;
23
+ end;
24
+ return 0;
25
+ `.trim();
26
+ /**
27
+ * 解锁:ARGV[1]=unlock message, ARGV[2]=leaseMs, ARGV[3]=field
28
+ * 返回 nil=非持有者;0=重入减一;1=完全释放并 publish
29
+ */
30
+ exports.LOCK_UNLOCK_LUA = `
31
+ if (redis.call('hexists', KEYS[1], ARGV[3]) == 0) then
32
+ return nil;
33
+ end;
34
+ local counter = redis.call('hincrby', KEYS[1], ARGV[3], -1);
35
+ if (counter > 0) then
36
+ redis.call('pexpire', KEYS[1], ARGV[2]);
37
+ return 0;
38
+ else
39
+ redis.call('del', KEYS[1]);
40
+ redis.call('publish', KEYS[2], ARGV[1]);
41
+ return 1;
42
+ end;
43
+ `.trim();
44
+ exports.LOCK_FORCE_UNLOCK_LUA = `
45
+ if (redis.call('del', KEYS[1]) == 1) then
46
+ redis.call('publish', KEYS[2], ARGV[1]);
47
+ return 1;
48
+ end;
49
+ return 0;
50
+ `.trim();
51
+ /** 公平锁:队列头才可获取 */
52
+ exports.FAIR_LOCK_ACQUIRE_LUA = `
53
+ while (true) do
54
+ local first = redis.call('lindex', KEYS[2], 0);
55
+ if first == false then
56
+ break;
57
+ end;
58
+ if redis.call('exists', KEYS[3] .. first) == 0 then
59
+ redis.call('lpop', KEYS[2]);
60
+ else
61
+ break;
62
+ end;
63
+ end;
64
+ if (redis.call('exists', KEYS[1]) == 0) then
65
+ local first = redis.call('lindex', KEYS[2], 0);
66
+ if first == false or first == ARGV[2] then
67
+ redis.call('hincrby', KEYS[1], ARGV[2], 1);
68
+ redis.call('pexpire', KEYS[1], ARGV[1]);
69
+ if first == ARGV[2] then
70
+ redis.call('lpop', KEYS[2]);
71
+ end;
72
+ redis.call('del', KEYS[3] .. ARGV[2]);
73
+ return nil;
74
+ end;
75
+ end;
76
+ if (redis.call('hexists', KEYS[1], ARGV[2]) == 1) then
77
+ redis.call('hincrby', KEYS[1], ARGV[2], 1);
78
+ redis.call('pexpire', KEYS[1], ARGV[1]);
79
+ return nil;
80
+ end;
81
+ if (redis.call('exists', KEYS[3] .. ARGV[2]) == 0) then
82
+ redis.call('rpush', KEYS[2], ARGV[2]);
83
+ redis.call('set', KEYS[3] .. ARGV[2], 1, 'px', ARGV[3]);
84
+ end;
85
+ return redis.call('pttl', KEYS[1]);
86
+ `.trim();
87
+ /** 读锁:无写锁时共享 */
88
+ exports.READ_LOCK_ACQUIRE_LUA = `
89
+ local mode = redis.call('hget', KEYS[1], 'mode');
90
+ if (mode == false) then
91
+ redis.call('hset', KEYS[1], 'mode', 'read');
92
+ redis.call('hset', KEYS[1], ARGV[2], 1);
93
+ redis.call('hset', KEYS[1], 'r:' .. ARGV[2], 1);
94
+ redis.call('pexpire', KEYS[1], ARGV[1]);
95
+ return nil;
96
+ end;
97
+ if (mode == 'read') then
98
+ local ind = redis.call('hget', KEYS[1], 'r:' .. ARGV[2]);
99
+ local c = redis.call('hincrby', KEYS[1], ARGV[2], 1);
100
+ if (c == 1) then
101
+ redis.call('hset', KEYS[1], 'r:' .. ARGV[2], 1);
102
+ end;
103
+ redis.call('pexpire', KEYS[1], ARGV[1]);
104
+ return nil;
105
+ end;
106
+ return redis.call('pttl', KEYS[1]);
107
+ `.trim();
108
+ exports.READ_LOCK_UNLOCK_LUA = `
109
+ local mode = redis.call('hget', KEYS[1], 'mode');
110
+ if (mode == false) then
111
+ return 1;
112
+ end;
113
+ local c = redis.call('hincrby', KEYS[1], ARGV[2], -1);
114
+ if (c == 0) then
115
+ redis.call('hdel', KEYS[1], ARGV[2]);
116
+ redis.call('hdel', KEYS[1], 'r:' .. ARGV[2]);
117
+ end;
118
+ local remain = 0;
119
+ local t = redis.call('hgetall', KEYS[1]);
120
+ for i = 1, #t, 2 do
121
+ if string.sub(t[i], 1, 2) == 'r:' then
122
+ remain = remain + 1;
123
+ end;
124
+ end;
125
+ if (remain == 0) then
126
+ redis.call('del', KEYS[1]);
127
+ redis.call('publish', KEYS[2], ARGV[1]);
128
+ return 1;
129
+ end;
130
+ redis.call('pexpire', KEYS[1], ARGV[3]);
131
+ return 0;
132
+ `.trim();
133
+ /** 写锁:独占 */
134
+ exports.WRITE_LOCK_ACQUIRE_LUA = `
135
+ local mode = redis.call('hget', KEYS[1], 'mode');
136
+ if (mode == false) then
137
+ redis.call('hset', KEYS[1], 'mode', 'write');
138
+ redis.call('hset', KEYS[1], ARGV[2], 1);
139
+ redis.call('pexpire', KEYS[1], ARGV[1]);
140
+ return nil;
141
+ end;
142
+ if (mode == 'write') then
143
+ if (redis.call('hexists', KEYS[1], ARGV[2]) == 1) then
144
+ redis.call('hincrby', KEYS[1], ARGV[2], 1);
145
+ redis.call('pexpire', KEYS[1], ARGV[1]);
146
+ return nil;
147
+ end;
148
+ end;
149
+ return redis.call('pttl', KEYS[1]);
150
+ `.trim();
151
+ exports.WRITE_LOCK_UNLOCK_LUA = `
152
+ local mode = redis.call('hget', KEYS[1], 'mode');
153
+ if (mode ~= 'write') then
154
+ return nil;
155
+ end;
156
+ if (redis.call('hexists', KEYS[1], ARGV[2]) == 0) then
157
+ return nil;
158
+ end;
159
+ local c = redis.call('hincrby', KEYS[1], ARGV[2], -1);
160
+ if (c > 0) then
161
+ redis.call('pexpire', KEYS[1], ARGV[3]);
162
+ return 0;
163
+ end;
164
+ redis.call('del', KEYS[1]);
165
+ redis.call('publish', KEYS[2], ARGV[1]);
166
+ return 1;
167
+ `.trim();
168
+ exports.SEMAPHORE_TRY_ACQUIRE_LUA = `
169
+ local available = tonumber(redis.call('get', KEYS[1]) or ARGV[1]);
170
+ if available == nil then
171
+ available = tonumber(ARGV[1]);
172
+ redis.call('set', KEYS[1], available);
173
+ end;
174
+ local permits = tonumber(ARGV[2]);
175
+ if available >= permits then
176
+ redis.call('set', KEYS[1], available - permits);
177
+ return 1;
178
+ end;
179
+ return 0;
180
+ `.trim();
181
+ exports.SEMAPHORE_RELEASE_LUA = `
182
+ local available = tonumber(redis.call('get', KEYS[1]) or '0');
183
+ redis.call('set', KEYS[1], available + tonumber(ARGV[1]));
184
+ redis.call('publish', KEYS[2], '1');
185
+ return available + tonumber(ARGV[1]);
186
+ `.trim();
187
+ exports.COUNTDOWN_COUNTDOWN_LUA = `
188
+ local v = redis.call('decr', KEYS[1]);
189
+ if v <= 0 then
190
+ redis.call('del', KEYS[1]);
191
+ redis.call('publish', KEYS[2], '0');
192
+ return 0;
193
+ end;
194
+ return v;
195
+ `.trim();
196
+ //# sourceMappingURL=scripts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../src/redisson/scripts.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAClC,QAAA,gBAAgB,GAAG;;;;;;;;;;;;CAY/B,CAAC,IAAI,EAAE,CAAC;AAET,YAAY;AACC,QAAA,cAAc,GAAG;;;;;;CAM7B,CAAC,IAAI,EAAE,CAAC;AAET;;;GAGG;AACU,QAAA,eAAe,GAAG;;;;;;;;;;;;;CAa9B,CAAC,IAAI,EAAE,CAAC;AAEI,QAAA,qBAAqB,GAAG;;;;;;CAMpC,CAAC,IAAI,EAAE,CAAC;AAET,kBAAkB;AACL,QAAA,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCpC,CAAC,IAAI,EAAE,CAAC;AAET,gBAAgB;AACH,QAAA,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;CAmBpC,CAAC,IAAI,EAAE,CAAC;AAEI,QAAA,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBnC,CAAC,IAAI,EAAE,CAAC;AAET,YAAY;AACC,QAAA,sBAAsB,GAAG;;;;;;;;;;;;;;;;CAgBrC,CAAC,IAAI,EAAE,CAAC;AAEI,QAAA,qBAAqB,GAAG;;;;;;;;;;;;;;;;CAgBpC,CAAC,IAAI,EAAE,CAAC;AAEI,QAAA,yBAAyB,GAAG;;;;;;;;;;;;CAYxC,CAAC,IAAI,EAAE,CAAC;AAEI,QAAA,qBAAqB,GAAG;;;;;CAKpC,CAAC,IAAI,EAAE,CAAC;AAEI,QAAA,uBAAuB,GAAG;;;;;;;;CAQtC,CAAC,IAAI,EAAE,CAAC"}
@@ -0,0 +1,140 @@
1
+ /** Redisson 风格客户端配置 */
2
+ export interface RedissonConfig {
3
+ /** 看门狗默认租约(毫秒),默认 30000;lock() 未指定 lease 时启用续期 */
4
+ lockWatchdogTimeout?: number;
5
+ /** 自旋等待最小间隔(毫秒),默认 50 */
6
+ lockWatchInterval?: number;
7
+ }
8
+ export declare const defaultRedissonConfig: Required<RedissonConfig>;
9
+ export interface RLock {
10
+ readonly name: string;
11
+ /** 阻塞加锁;leaseTimeMs 省略则启用看门狗 */
12
+ lock(leaseTimeMs?: number): Promise<void>;
13
+ /**
14
+ * 尝试加锁。
15
+ * - tryLock() 立即返回
16
+ * - tryLock(waitMs) 等待至多 waitMs,看门狗续期
17
+ * - tryLock(waitMs, leaseMs) 等待 waitMs,固定租约不看门狗
18
+ */
19
+ tryLock(waitTimeMs?: number, leaseTimeMs?: number): Promise<boolean>;
20
+ unlock(): Promise<void>;
21
+ forceUnlock(): Promise<boolean>;
22
+ isLocked(): Promise<boolean>;
23
+ isHeldByCurrentThread(): Promise<boolean>;
24
+ getHoldCount(): Promise<number>;
25
+ remainTimeToLive(): Promise<number>;
26
+ }
27
+ export interface RReadWriteLock {
28
+ readLock(): RLock;
29
+ writeLock(): RLock;
30
+ }
31
+ export interface RSemaphore {
32
+ readonly name: string;
33
+ trySetPermits(permits: number): Promise<boolean>;
34
+ acquire(permits?: number): Promise<void>;
35
+ tryAcquire(permits?: number, waitTimeMs?: number): Promise<boolean>;
36
+ release(permits?: number): Promise<void>;
37
+ availablePermits(): Promise<number>;
38
+ }
39
+ export interface RCountDownLatch {
40
+ readonly name: string;
41
+ trySetCount(count: number): Promise<boolean>;
42
+ countDown(): Promise<void>;
43
+ await(waitTimeMs?: number): Promise<boolean>;
44
+ getCount(): Promise<number>;
45
+ }
46
+ export interface RAtomicLong {
47
+ readonly name: string;
48
+ get(): Promise<number>;
49
+ set(value: number): Promise<void>;
50
+ getAndSet(value: number): Promise<number>;
51
+ incrementAndGet(): Promise<number>;
52
+ decrementAndGet(): Promise<number>;
53
+ addAndGet(delta: number): Promise<number>;
54
+ compareAndSet(expect: number, update: number): Promise<boolean>;
55
+ delete(): Promise<boolean>;
56
+ }
57
+ export interface RBucket<T = unknown> {
58
+ readonly name: string;
59
+ get(): Promise<T | null>;
60
+ set(value: T, ttlSeconds?: number): Promise<void>;
61
+ getAndDelete(): Promise<T | null>;
62
+ compareAndSet(expect: T, update: T): Promise<boolean>;
63
+ trySet(value: T, ttlSeconds?: number): Promise<boolean>;
64
+ delete(): Promise<boolean>;
65
+ isExists(): Promise<boolean>;
66
+ expire(ttlSeconds: number): Promise<boolean>;
67
+ }
68
+ export interface RMap<V = string> {
69
+ readonly name: string;
70
+ get(key: string): Promise<V | undefined>;
71
+ put(key: string, value: V): Promise<void>;
72
+ putAll(entries: Record<string, V>): Promise<void>;
73
+ remove(key: string): Promise<boolean>;
74
+ containsKey(key: string): Promise<boolean>;
75
+ readAllMap(): Promise<Record<string, V>>;
76
+ size(): Promise<number>;
77
+ clear(): Promise<void>;
78
+ }
79
+ export interface RSet {
80
+ readonly name: string;
81
+ add(...members: string[]): Promise<number>;
82
+ remove(...members: string[]): Promise<number>;
83
+ contains(member: string): Promise<boolean>;
84
+ readAll(): Promise<string[]>;
85
+ size(): Promise<number>;
86
+ clear(): Promise<void>;
87
+ }
88
+ export interface RList {
89
+ readonly name: string;
90
+ add(...values: string[]): Promise<number>;
91
+ get(index: number): Promise<string | null>;
92
+ range(start: number, stop: number): Promise<string[]>;
93
+ remove(count: number, value: string): Promise<number>;
94
+ size(): Promise<number>;
95
+ clear(): Promise<void>;
96
+ }
97
+ export interface RScoredSortedSet {
98
+ readonly name: string;
99
+ add(score: number, value: string): Promise<boolean>;
100
+ addAll(members: Array<{
101
+ score: number;
102
+ value: string;
103
+ }>): Promise<number>;
104
+ remove(...values: string[]): Promise<number>;
105
+ rank(value: string): Promise<number | null>;
106
+ score(value: string): Promise<number | null>;
107
+ valueRange(start: number, stop: number): Promise<string[]>;
108
+ valueRangeByScore(min: number, max: number): Promise<string[]>;
109
+ size(): Promise<number>;
110
+ clear(): Promise<void>;
111
+ }
112
+ export interface RTopic {
113
+ readonly name: string;
114
+ publish(message: string): Promise<number>;
115
+ addListener(listener: (message: string) => void): Promise<() => Promise<void>>;
116
+ }
117
+ export interface RRateLimiter {
118
+ readonly name: string;
119
+ trySetRate(rate: number, rateIntervalMs: number): Promise<boolean>;
120
+ tryAcquire(permits?: number): Promise<boolean>;
121
+ /** 当前窗口剩余许可(近似) */
122
+ availablePermits(): Promise<number>;
123
+ }
124
+ export interface RBitSet {
125
+ readonly name: string;
126
+ get(bitIndex: number): Promise<boolean>;
127
+ set(bitIndex: number, value?: boolean): Promise<boolean>;
128
+ clear(bitIndex?: number): Promise<void>;
129
+ cardinality(): Promise<number>;
130
+ size(): Promise<number>;
131
+ }
132
+ export interface RQueue {
133
+ readonly name: string;
134
+ offer(...values: string[]): Promise<number>;
135
+ poll(): Promise<string | null>;
136
+ peek(): Promise<string | null>;
137
+ size(): Promise<number>;
138
+ clear(): Promise<void>;
139
+ }
140
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/redisson/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultRedissonConfig = void 0;
4
+ exports.defaultRedissonConfig = {
5
+ lockWatchdogTimeout: 30000,
6
+ lockWatchInterval: 50,
7
+ };
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/redisson/types.ts"],"names":[],"mappings":";;;AAQa,QAAA,qBAAqB,GAA6B;IAC7D,mBAAmB,EAAE,KAAM;IAC3B,iBAAiB,EAAE,EAAE;CACtB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /** 每个 Redisson 客户端实例 id */
2
+ export declare function createClientId(): string;
3
+ export declare function currentThreadId(clientId: string): string;
4
+ export declare function runWithThreadIdAsync<T>(threadId: string, fn: () => Promise<T>): Promise<T>;
5
+ export declare function sleep(ms: number): Promise<void>;
6
+ export declare function channelName(lockName: string): string;
7
+ /** keys 已是最终 Redis key(调用方负责前缀) */
8
+ export declare function evalScript(script: string, keys: string[], args: Array<string | number>): Promise<unknown>;
9
+ export declare function evalNumber(script: string, keys: string[], args: Array<string | number>): Promise<number | null>;
10
+ /** 等待 pub/sub 通知或超时 */
11
+ export declare function waitNotify(channel: string, timeoutMs: number): Promise<boolean>;
12
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/redisson/utils.ts"],"names":[],"mappings":"AAIA,2BAA2B;AAC3B,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAOD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,mCAAmC;AACnC,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAC3B,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIxB;AAED,uBAAuB;AACvB,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAuBlB"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createClientId = createClientId;
7
+ exports.currentThreadId = currentThreadId;
8
+ exports.runWithThreadIdAsync = runWithThreadIdAsync;
9
+ exports.sleep = sleep;
10
+ exports.channelName = channelName;
11
+ exports.evalScript = evalScript;
12
+ exports.evalNumber = evalNumber;
13
+ exports.waitNotify = waitNotify;
14
+ const async_hooks_1 = require("async_hooks");
15
+ const crypto_1 = require("crypto");
16
+ const Redis_1 = __importDefault(require("../Redis"));
17
+ /** 每个 Redisson 客户端实例 id */
18
+ function createClientId() {
19
+ return `${process.pid}-${(0, crypto_1.randomBytes)(8).toString("hex")}`;
20
+ }
21
+ /** 异步上下文中的「线程」id,支撑可重入 */
22
+ const threadAls = new async_hooks_1.AsyncLocalStorage();
23
+ let threadSeq = 0;
24
+ function currentThreadId(clientId) {
25
+ const existing = threadAls.getStore();
26
+ if (existing)
27
+ return existing;
28
+ threadSeq += 1;
29
+ return `${clientId}:${threadSeq}`;
30
+ }
31
+ async function runWithThreadIdAsync(threadId, fn) {
32
+ return threadAls.run(threadId, fn);
33
+ }
34
+ function sleep(ms) {
35
+ return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
36
+ }
37
+ function channelName(lockName) {
38
+ return `pangza_lock_channel:{${lockName}}`;
39
+ }
40
+ /** keys 已是最终 Redis key(调用方负责前缀) */
41
+ async function evalScript(script, keys, args) {
42
+ const client = await Redis_1.default.getClient();
43
+ return client.eval(script, {
44
+ keys,
45
+ arguments: args.map(String),
46
+ });
47
+ }
48
+ async function evalNumber(script, keys, args) {
49
+ const result = await evalScript(script, keys, args);
50
+ if (result === null || result === undefined)
51
+ return null;
52
+ return Number(result);
53
+ }
54
+ /** 等待 pub/sub 通知或超时 */
55
+ async function waitNotify(channel, timeoutMs) {
56
+ if (timeoutMs <= 0)
57
+ return false;
58
+ let settled = false;
59
+ let unsub = null;
60
+ return new Promise((resolve) => {
61
+ const timer = setTimeout(() => {
62
+ if (settled)
63
+ return;
64
+ settled = true;
65
+ void unsub?.();
66
+ resolve(false);
67
+ }, timeoutMs);
68
+ void Redis_1.default.subscribe(channel, () => {
69
+ if (settled)
70
+ return;
71
+ settled = true;
72
+ clearTimeout(timer);
73
+ void unsub?.();
74
+ resolve(true);
75
+ }).then((u) => {
76
+ unsub = u;
77
+ if (settled)
78
+ void u();
79
+ });
80
+ });
81
+ }
82
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/redisson/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ /** Redis TLS(可选;生产跨网建议开启) */
2
+ export interface RedisTlsConfig {
3
+ /** 是否启用 TLS,默认 false */
4
+ enabled?: boolean;
5
+ /** 拒绝对端证书校验(仅内网自签调试;生产勿开) */
6
+ rejectUnauthorized?: boolean;
7
+ /** CA / cert / key 文件路径(可选) */
8
+ ca?: string;
9
+ cert?: string;
10
+ key?: string;
11
+ }
12
+ /** 集群节点 */
13
+ export interface RedisNodeEndpoint {
14
+ host: string;
15
+ port?: number;
16
+ }
17
+ /** Cluster 配置(mode=cluster) */
18
+ export interface RedisClusterConfig {
19
+ /** 用于发现拓扑的种子节点(建议 ≥1,生产建议 ≥3) */
20
+ nodes?: RedisNodeEndpoint[];
21
+ /** 只读命令是否打到副本 */
22
+ useReplicas?: boolean;
23
+ }
24
+ /** Sentinel 配置(mode=sentinel) */
25
+ export interface RedisSentinelConfig {
26
+ /** 主节点名称(sentinel monitor 里的 name) */
27
+ name?: string;
28
+ /** Sentinel 节点列表 */
29
+ nodes?: RedisNodeEndpoint[];
30
+ }
31
+ /** 连接模式 */
32
+ export type RedisMode = "standalone" | "cluster" | "sentinel";
33
+ /** Redis 连接配置 */
34
+ export interface RedisConfig {
35
+ /** 主机,默认 127.0.0.1(standalone) */
36
+ host?: string;
37
+ /** 端口,默认 6379 */
38
+ port?: number;
39
+ /** 密码,无密码可不传 */
40
+ password?: string;
41
+ /** ACL 用户名(Redis 6+);空则不传 */
42
+ username?: string;
43
+ /** 数据库编号,默认 0(cluster 忽略) */
44
+ db?: number;
45
+ /** key 统一前缀,便于隔离环境 */
46
+ keyPrefix?: string;
47
+ /** 连接超时(毫秒),默认 3000 */
48
+ connectTimeout?: number;
49
+ /**
50
+ * 断线重连:true(默认)指数退避;false 不重连。
51
+ * 最大重试间隔见 maxReconnectDelay。
52
+ */
53
+ reconnect?: boolean;
54
+ /** 重连最大间隔(毫秒),默认 10000 */
55
+ maxReconnectDelay?: number;
56
+ /** TLS */
57
+ tls?: RedisTlsConfig;
58
+ /** 连接模式,默认 standalone */
59
+ mode?: RedisMode;
60
+ /** Cluster(mode=cluster) */
61
+ cluster?: RedisClusterConfig;
62
+ /** Sentinel(mode=sentinel) */
63
+ sentinel?: RedisSentinelConfig;
64
+ }
65
+ /** 默认配置 */
66
+ export declare const defaultRedisConfig: Required<Pick<RedisConfig, "host" | "port" | "db" | "keyPrefix" | "connectTimeout" | "reconnect" | "maxReconnectDelay" | "mode">> & RedisConfig;
67
+ /** 限流维度 */
68
+ export declare const RateLimiterType: {
69
+ readonly DEFAULT: "DEFAULT";
70
+ readonly IP: "IP";
71
+ readonly USER: "USER";
72
+ };
73
+ export type RateLimiterTypeValue = (typeof RateLimiterType)[keyof typeof RateLimiterType];
74
+ /** 限流窗口算法 */
75
+ export type RateLimitMode = "fixed" | "sliding";
76
+ /** @RateLimiter / option.rateLimit */
77
+ export interface RateLimitOption {
78
+ /** 时间窗口(秒),默认 2 */
79
+ time?: number;
80
+ /** 窗口内最大次数,默认 1 */
81
+ count?: number;
82
+ /** Redis key 前缀,默认 rateLimiter: */
83
+ key?: string;
84
+ /** DEFAULT=全局;IP=按客户端 IP;USER=按登录用户 */
85
+ type?: RateLimiterTypeValue | "DEFAULT" | "IP" | "USER";
86
+ /** fixed=固定窗口(默认);sliding=滑动窗口(ZSET) */
87
+ mode?: RateLimitMode;
88
+ }
89
+ /** @RepeatSubmit / option.repeatSubmit */
90
+ export interface RepeatSubmitOption {
91
+ /** 间隔(毫秒),默认 3000 */
92
+ interval?: number;
93
+ /** 提示文案 */
94
+ message?: string;
95
+ }
96
+ /** @Cacheable */
97
+ export interface CacheableOption {
98
+ /** key 前缀;默认 cache:{Class}.{method} */
99
+ key?: string;
100
+ /** 过期秒数;默认 60;≤0 永不过期 */
101
+ ttl?: number;
102
+ /**
103
+ * 自定义 key 后缀:接收方法参数,返回字符串。
104
+ * 默认 JSON.stringify(args)。
105
+ */
106
+ keyGenerator?: (...args: unknown[]) => string;
107
+ }
108
+ /** @CacheEvict */
109
+ export interface CacheEvictOption {
110
+ /** 与 @Cacheable 相同的 key 前缀;默认 cache:{Class}.{method} */
111
+ key?: string;
112
+ /** 自定义后缀;默认 JSON.stringify(args) */
113
+ keyGenerator?: (...args: unknown[]) => string;
114
+ /** true:删除整个前缀下匹配(SCAN+DEL,谨慎) */
115
+ allEntries?: boolean;
116
+ }
117
+ /** tryLock / withLock */
118
+ export interface TryLockOption {
119
+ /** 锁过期(毫秒),默认 30000 */
120
+ ttlMs?: number;
121
+ /** 锁 token;默认随机 */
122
+ token?: string;
123
+ }
124
+ export interface WithLockOption extends TryLockOption {
125
+ /** 续租间隔(毫秒);默认 ttlMs/3;≤0 不续租 */
126
+ renewIntervalMs?: number;
127
+ }
128
+ /** 已持有的锁句柄 */
129
+ export interface LockHandle {
130
+ key: string;
131
+ token: string;
132
+ /** 安全释放(value 匹配才删) */
133
+ release: () => Promise<boolean>;
134
+ /** 手动续期(毫秒) */
135
+ renew: (ttlMs: number) => Promise<boolean>;
136
+ }
137
+ export declare const RATE_LIMIT_KEY = "rateLimiter:";
138
+ export declare const REPEAT_SUBMIT_KEY = "repeat:submit:";
139
+ export declare const CACHE_KEY = "cache:";
140
+ export declare const LOCK_KEY = "lock:";
141
+ //# sourceMappingURL=types.d.ts.map