@vendure/core 3.8.2-master-202610290208 → 3.8.2-master-202611030208

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.
@@ -11,6 +11,12 @@ import { RedisCachePluginInitOptions } from './types';
11
11
  * npm install ioredis@^5.3.2
12
12
  * ```
13
13
  *
14
+ * Requires Redis 3.2 or later, or a compatible server such as Valkey. Tagged writes run a Lua script
15
+ * with `EVAL`. A restricted Redis ACL user needs the `@scripting` category and these commands:
16
+ * - `GET`, `SET`, `DEL`, `MULTI` and `EXEC` for reading, writing and deleting cache items;
17
+ * - `TIME`, `ZADD`, `ZREMRANGEBYSCORE`, `ZRANGE` and `PEXPIREAT`, which the tag script calls;
18
+ * - `ZRANGE`, `ZREM`, `SRANDMEMBER` and `SREM` for tag invalidation.
19
+ *
14
20
  * @docsCategory cache
15
21
  * @docsPage RedisCachePlugin
16
22
  * @docsWeight 0
@@ -24,6 +24,12 @@ const redis_cache_strategy_1 = require("./redis-cache-strategy");
24
24
  * npm install ioredis@^5.3.2
25
25
  * ```
26
26
  *
27
+ * Requires Redis 3.2 or later, or a compatible server such as Valkey. Tagged writes run a Lua script
28
+ * with `EVAL`. A restricted Redis ACL user needs the `@scripting` category and these commands:
29
+ * - `GET`, `SET`, `DEL`, `MULTI` and `EXEC` for reading, writing and deleting cache items;
30
+ * - `TIME`, `ZADD`, `ZREMRANGEBYSCORE`, `ZRANGE` and `PEXPIREAT`, which the tag script calls;
31
+ * - `ZRANGE`, `ZREM`, `SRANDMEMBER` and `SREM` for tag invalidation.
32
+ *
27
33
  * @docsCategory cache
28
34
  * @docsPage RedisCachePlugin
29
35
  * @docsWeight 0
@@ -1 +1 @@
1
- {"version":3,"file":"redis-cache-plugin.js","sourceRoot":"","sources":["../../../src/plugin/redis-cache-plugin/redis-cache-plugin.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,kEAA6D;AAC7D,sDAAkD;AAElD,2CAAkD;AAClD,iEAA4D;AAG5D;;;;;;;;;;;;;;;;GAgBG;AAUI,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAOzB,MAAM,CAAC,IAAI,CAAC,OAAoC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,kBAAgB,CAAC;IAC5B,CAAC;;AAVQ,4CAAgB;AAClB,wBAAO,GAAgC;IAC1C,kBAAkB,EAAE,MAAO;IAC3B,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,eAAe;CAC7B,AAJa,CAIZ;2BALO,gBAAgB;IAT5B,IAAA,8BAAa,EAAC;QACX,OAAO,EAAE,CAAC,yCAAkB,CAAC;QAC7B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,+BAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QACzF,aAAa,EAAE,MAAM,CAAC,EAAE;YACpB,MAAM,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,yCAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACtF,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,aAAa,EAAE,QAAQ;KAC1B,CAAC;GACW,gBAAgB,CAW5B"}
1
+ {"version":3,"file":"redis-cache-plugin.js","sourceRoot":"","sources":["../../../src/plugin/redis-cache-plugin/redis-cache-plugin.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,kEAA6D;AAC7D,sDAAkD;AAElD,2CAAkD;AAClD,iEAA4D;AAG5D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAUI,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAOzB,MAAM,CAAC,IAAI,CAAC,OAAoC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,kBAAgB,CAAC;IAC5B,CAAC;;AAVQ,4CAAgB;AAClB,wBAAO,GAAgC;IAC1C,kBAAkB,EAAE,MAAO;IAC3B,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,eAAe;CAC7B,AAJa,CAIZ;2BALO,gBAAgB;IAT5B,IAAA,8BAAa,EAAC;QACX,OAAO,EAAE,CAAC,yCAAkB,CAAC;QAC7B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,+BAAmB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QACzF,aAAa,EAAE,MAAM,CAAC,EAAE;YACpB,MAAM,CAAC,aAAa,CAAC,aAAa,GAAG,IAAI,yCAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACtF,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,aAAa,EAAE,QAAQ;KAC1B,CAAC;GACW,gBAAgB,CAW5B"}
@@ -25,6 +25,12 @@ export declare class RedisCacheStrategy implements CacheStrategy {
25
25
  set<T extends JsonCompatible<T>>(key: string, value: T, options?: SetCacheKeyOptions): Promise<void>;
26
26
  delete(key: string): Promise<void>;
27
27
  invalidateTags(tags: string[]): Promise<void>;
28
+ private invalidateTag;
29
+ /**
30
+ * Deletes a tag set's members one batch at a time, so that a large tag does not block Redis.
31
+ */
32
+ private deleteInBatches;
28
33
  private namespace;
29
34
  private tagNamespace;
35
+ private legacyTagNamespace;
30
36
  }
@@ -3,6 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RedisCacheStrategy = void 0;
4
4
  const vendure_logger_1 = require("../../config/logger/vendure-logger");
5
5
  const constants_1 = require("./constants");
6
+ const INVALIDATION_BATCH_SIZE = 1000;
7
+ /**
8
+ * Adds a key to a tag's sorted set, scored by the key's expiry time in ms (Redis server clock).
9
+ * Expired members are pruned, and the tag set expires with its longest-lived remaining member.
10
+ * KEYS[1] = tag set, ARGV[1] = member, ARGV[2] = ttl in ms.
11
+ * `redis.replicate_commands()` lets Redis 3.2-4.x run writes after `TIME`; it is a no-op from 5.0.
12
+ */
13
+ const ADD_TO_TAG_SCRIPT = `
14
+ redis.replicate_commands()
15
+ local time = redis.call('TIME')
16
+ local now = time[1] * 1000 + math.floor(time[2] / 1000)
17
+ redis.call('ZADD', KEYS[1], string.format('%.0f', now + ARGV[2]), ARGV[1])
18
+ redis.call('ZREMRANGEBYSCORE', KEYS[1], '-inf', now)
19
+ local last = redis.call('ZRANGE', KEYS[1], -1, -1, 'WITHSCORES')
20
+ redis.call('PEXPIREAT', KEYS[1], string.format('%.0f', last[2]))
21
+ `;
6
22
  /**
7
23
  * @description
8
24
  * A {@link CacheStrategy} which stores cached items in a Redis instance.
@@ -65,7 +81,7 @@ class RedisCacheStrategy {
65
81
  multi.set(namedspacedKey, JSON.stringify(value), 'EX', Math.round(ttl));
66
82
  if (options === null || options === void 0 ? void 0 : options.tags) {
67
83
  for (const tag of options.tags) {
68
- multi.sadd(this.tagNamespace(tag), namedspacedKey);
84
+ multi.eval(ADD_TO_TAG_SCRIPT, 1, this.tagNamespace(tag), namedspacedKey, Math.round(ttl) * 1000);
69
85
  }
70
86
  }
71
87
  const results = await multi.exec();
@@ -87,29 +103,42 @@ class RedisCacheStrategy {
87
103
  }
88
104
  }
89
105
  async invalidateTags(tags) {
90
- try {
91
- const keys = [
92
- ...(await Promise.all(tags.map(tag => this.client.smembers(this.tagNamespace(tag))))),
93
- ];
94
- const pipeline = this.client.pipeline();
95
- keys.forEach(key => {
96
- pipeline.del(key);
97
- });
98
- tags.forEach(tag => {
99
- const namespacedTag = this.tagNamespace(tag);
100
- pipeline.del(namespacedTag);
101
- });
102
- await pipeline.exec();
106
+ await Promise.all(tags.map(tag => this.invalidateTag(tag)));
107
+ }
108
+ async invalidateTag(tag) {
109
+ const tagKey = this.tagNamespace(tag);
110
+ await this.deleteInBatches(() => this.client.zrange(tagKey, 0, INVALIDATION_BATCH_SIZE - 1), members => this.client.multi().zrem(tagKey, ...members));
111
+ // Vendure versions before 3.8.2 stored tags as plain SETs under `:tag:`
112
+ const legacyTagKey = this.legacyTagNamespace(tag);
113
+ await this.deleteInBatches(() => this.client.srandmember(legacyTagKey, INVALIDATION_BATCH_SIZE), members => this.client.multi().srem(legacyTagKey, ...members));
114
+ }
115
+ /**
116
+ * Deletes a tag set's members one batch at a time, so that a large tag does not block Redis.
117
+ */
118
+ async deleteInBatches(readBatch, removeFromTag) {
119
+ var _a;
120
+ const members = await readBatch();
121
+ if (!members.length) {
122
+ return;
103
123
  }
104
- catch (err) {
105
- return Promise.reject(err);
124
+ const results = await removeFromTag(members)
125
+ .del(...members)
126
+ .exec();
127
+ const error = (_a = results === null || results === void 0 ? void 0 : results.find(([err]) => err)) === null || _a === void 0 ? void 0 : _a[0];
128
+ if (error) {
129
+ throw error;
106
130
  }
131
+ return this.deleteInBatches(readBatch, removeFromTag);
107
132
  }
108
133
  namespace(key) {
109
134
  var _a;
110
135
  return `${(_a = this.options.namespace) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_NAMESPACE}:${key}`;
111
136
  }
112
137
  tagNamespace(tag) {
138
+ var _a;
139
+ return `${(_a = this.options.namespace) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_NAMESPACE}:ztag:${tag}`;
140
+ }
141
+ legacyTagNamespace(tag) {
113
142
  var _a;
114
143
  return `${(_a = this.options.namespace) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_NAMESPACE}:tag:${tag}`;
115
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"redis-cache-strategy.js","sourceRoot":"","sources":["../../../src/plugin/redis-cache-plugin/redis-cache-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redis-cache-strategy.js","sourceRoot":"","sources":["../../../src/plugin/redis-cache-plugin/redis-cache-strategy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vendure/core",
3
- "version": "3.8.2-master-202610290208",
3
+ "version": "3.8.2-master-202611030208",
4
4
  "description": "A modern, headless ecommerce framework",
5
5
  "repository": {
6
6
  "type": "git",
@@ -54,7 +54,7 @@
54
54
  "@nestjs/platform-express": "^12.0.1",
55
55
  "@nestjs/typeorm": "^12.0.1",
56
56
  "@types/express": "^5.0.1",
57
- "@vendure/common": "^3.8.2-master-202610290208",
57
+ "@vendure/common": "^3.8.2-master-202611030208",
58
58
  "bcrypt": "^6.0.0",
59
59
  "cookie-session": "^2.1.0",
60
60
  "cron-time-generator": "^2.0.3",