cachette 1.1.25 → 1.1.27
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as EventEmitter from 'events';
|
|
3
|
-
export
|
|
4
|
-
export
|
|
3
|
+
export type CachableValue = any;
|
|
4
|
+
export type FetchingFunction = () => Promise<CachableValue>;
|
|
5
5
|
export declare abstract class CacheInstance extends EventEmitter {
|
|
6
6
|
/**
|
|
7
7
|
* Will resolve when the cache instance connection is ready.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RedisCache = void 0;
|
|
4
|
-
const
|
|
4
|
+
const ioredis_1 = require("ioredis");
|
|
5
5
|
const Redlock = require("redlock");
|
|
6
6
|
const CacheInstance_1 = require("./CacheInstance");
|
|
7
7
|
/**
|
|
@@ -19,7 +19,7 @@ class RedisCache extends CacheInstance_1.CacheInstance {
|
|
|
19
19
|
throw new Error(`Invalid redis url ${redisUrl}.`);
|
|
20
20
|
}
|
|
21
21
|
this.url = redisUrl;
|
|
22
|
-
this.redisClient = new
|
|
22
|
+
this.redisClient = new ioredis_1.default(redisUrl, {
|
|
23
23
|
readOnly,
|
|
24
24
|
retryStrategy: () => RedisCache.REDIS_CONNECTION_TIMEOUT_MS,
|
|
25
25
|
// master failover
|
|
@@ -28,6 +28,7 @@ class RedisCache extends CacheInstance_1.CacheInstance {
|
|
|
28
28
|
// if there is no active connection.
|
|
29
29
|
enableOfflineQueue: false,
|
|
30
30
|
});
|
|
31
|
+
this.redisClient.scan;
|
|
31
32
|
this.redlock = new Redlock([this.redisClient], {
|
|
32
33
|
driftFactor: RedisCache.REDLOCK_CLOCK_DRIFT_FACTOR,
|
|
33
34
|
retryCount: RedisCache.REDLOCK_RETRY_COUNT,
|
|
@@ -181,7 +182,7 @@ class RedisCache extends CacheInstance_1.CacheInstance {
|
|
|
181
182
|
value = RedisCache.serializeValue(value);
|
|
182
183
|
let result;
|
|
183
184
|
if (ttl !== 0) {
|
|
184
|
-
result = await this.redisClient.set(key, value, '
|
|
185
|
+
result = await this.redisClient.set(key, value, 'EX', ttl);
|
|
185
186
|
}
|
|
186
187
|
else {
|
|
187
188
|
result = await this.redisClient.set(key, value);
|
|
@@ -294,7 +295,7 @@ class RedisCache extends CacheInstance_1.CacheInstance {
|
|
|
294
295
|
// Redis detail: we set the `count` option to a number (1000) greater than
|
|
295
296
|
// the default (10), to minimize the amount of network round-trips caused
|
|
296
297
|
// by incomplete scans needing more scanning from the returned cursor.
|
|
297
|
-
const [nextCursor, matchingKeys] = await this.redisClient.scan(cursor || '0', '
|
|
298
|
+
const [nextCursor, matchingKeys] = await this.redisClient.scan(cursor || '0', 'MATCH', redisPrefix, 'COUNT', 1000);
|
|
298
299
|
if (matchingKeys.length > 0) {
|
|
299
300
|
return true;
|
|
300
301
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedisCache.js","sourceRoot":"","sources":["../../../src/lib/RedisCache.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"RedisCache.js","sourceRoot":"","sources":["../../../src/lib/RedisCache.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cachette",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.27",
|
|
4
4
|
"engines": {
|
|
5
5
|
"node": ">=16",
|
|
6
6
|
"npm": ">=8.5.0"
|
|
@@ -55,16 +55,15 @@
|
|
|
55
55
|
"test"
|
|
56
56
|
],
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@types/bluebird": "3.x",
|
|
59
58
|
"@types/chai": "4.x",
|
|
60
|
-
"@types/ioredis": "
|
|
59
|
+
"@types/ioredis": "5.x",
|
|
61
60
|
"@types/lru-cache": "7.x",
|
|
62
|
-
"@types/mocha": "
|
|
61
|
+
"@types/mocha": "10.x",
|
|
63
62
|
"@types/node": "16.x",
|
|
63
|
+
"@types/redlock": "4.x",
|
|
64
64
|
"@types/sinon": "10.x",
|
|
65
65
|
"@typescript-eslint/eslint-plugin": "5.x",
|
|
66
66
|
"@typescript-eslint/parser": "5.x",
|
|
67
|
-
"bluebird": "3.x",
|
|
68
67
|
"chai": "4.x",
|
|
69
68
|
"eslint": "8.x",
|
|
70
69
|
"mocha": "10.x",
|
|
@@ -76,8 +75,7 @@
|
|
|
76
75
|
"typescript": "4.x"
|
|
77
76
|
},
|
|
78
77
|
"dependencies": {
|
|
79
|
-
"
|
|
80
|
-
"ioredis": "4.x",
|
|
78
|
+
"ioredis": "5.x",
|
|
81
79
|
"lru-cache": "7.x",
|
|
82
80
|
"redlock": "4.x"
|
|
83
81
|
}
|