@medusajs/caching-redis 2.10.4-snapshot-20250928135304 → 2.10.4-snapshot-20250929174531

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 +1 @@
1
- {"version":3,"file":"redis-cache.d.ts","sourceRoot":"","sources":["../../src/services/redis-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAG/B,qBAAa,oBAAoB;;IAC/B,MAAM,CAAC,UAAU,SAAgB;IAEjC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAA;IAC5B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAA;IAC/B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAA;IAC5B,SAAS,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACtC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;gBAGvC,EACE,WAAW,EACX,MAAM,EACN,MAAM,GACP,EAAE;QAAE,WAAW,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,EAC1E,OAAO,CAAC,EAAE,uBAAuB;IA4D7B,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IA+DnE,GAAG,CAAC,EACR,GAAG,EACH,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,OAAO,GACR,EAAE;QACD,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;QACf,OAAO,CAAC,EAAE;YACR,cAAc,CAAC,EAAE,OAAO,CAAA;SACzB,CAAA;KACF,GAAG,OAAO,CAAC,IAAI,CAAC;IAmDX,KAAK,CAAC,EACV,GAAG,EACH,IAAI,EACJ,OAAO,GACR,EAAE;QACD,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;QACf,OAAO,CAAC,EAAE;YACR,cAAc,CAAC,EAAE,OAAO,CAAA;SACzB,CAAA;KACF,GAAG,OAAO,CAAC,IAAI,CAAC;IA2OX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB7B"}
1
+ {"version":3,"file":"redis-cache.d.ts","sourceRoot":"","sources":["../../src/services/redis-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAG/B,qBAAa,oBAAoB;;IAC/B,MAAM,CAAC,UAAU,SAAgB;IAEjC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAA;IAC5B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAA;IAC/B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAA;IAC5B,SAAS,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACtC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;gBAGvC,EACE,WAAW,EACX,MAAM,EACN,MAAM,GACP,EAAE;QAAE,WAAW,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAA;KAAE,EAC1E,OAAO,CAAC,EAAE,uBAAuB;IAmO7B,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IA8DnE,GAAG,CAAC,EACR,GAAG,EACH,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,OAAO,GACR,EAAE;QACD,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;QACf,OAAO,CAAC,EAAE;YACR,cAAc,CAAC,EAAE,OAAO,CAAA;SACzB,CAAA;KACF,GAAG,OAAO,CAAC,IAAI,CAAC;IA4DX,KAAK,CAAC,EACV,GAAG,EACH,IAAI,EACJ,OAAO,GACR,EAAE;QACD,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;QACf,OAAO,CAAC,EAAE;YACR,cAAc,CAAC,EAAE,OAAO,CAAA;SACzB,CAAA;KACF,GAAG,OAAO,CAAC,IAAI,CAAC;IAuQX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAsB7B"}
@@ -4,10 +4,10 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
4
4
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
5
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
6
  };
7
- var _RedisCachingProvider_instances, _RedisCachingProvider_getKeyName, _RedisCachingProvider_getTagKey, _RedisCachingProvider_getTagsKey, _RedisCachingProvider_compressData, _RedisCachingProvider_decompressData;
7
+ var _RedisCachingProvider_instances, _RedisCachingProvider_getKeyName, _RedisCachingProvider_getTagKey, _RedisCachingProvider_getTagsKey, _RedisCachingProvider_getTagDictionaryKey, _RedisCachingProvider_getTagNextIdKey, _RedisCachingProvider_getTagRefCountKey, _RedisCachingProvider_getTagReverseDictionaryKey, _RedisCachingProvider_internTags, _RedisCachingProvider_resolveTagIds, _RedisCachingProvider_decrementTagRefs, _RedisCachingProvider_compressData, _RedisCachingProvider_decompressData;
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.RedisCachingProvider = void 0;
10
- const lz4_wasm_nodejs_1 = require("lz4-wasm-nodejs");
10
+ const zlib_1 = require("zlib");
11
11
  class RedisCachingProvider {
12
12
  constructor({ redisClient, prefix, hasher, }, options) {
13
13
  _RedisCachingProvider_instances.add(this);
@@ -20,11 +20,11 @@ class RedisCachingProvider {
20
20
  async get({ key, tags }) {
21
21
  if (key) {
22
22
  const keyName = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getKeyName).call(this, key);
23
- const data = await this.redisClient.hget(keyName, "data");
24
- if (!data) {
23
+ const buffer = await this.redisClient.hgetBuffer(keyName, "data");
24
+ if (!buffer) {
25
25
  return null;
26
26
  }
27
- const finalData = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_decompressData).call(this, data);
27
+ const finalData = await __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_decompressData).call(this, buffer);
28
28
  return JSON.parse(finalData);
29
29
  }
30
30
  if (tags?.length) {
@@ -48,15 +48,15 @@ class RedisCachingProvider {
48
48
  // Get all hash data for the keys
49
49
  const valuePipeline = this.redisClient.pipeline();
50
50
  Array.from(allKeys).forEach((key) => {
51
- valuePipeline.hget(key, "data");
51
+ valuePipeline.hgetBuffer(key, "data");
52
52
  });
53
53
  const valueResults = await valuePipeline.exec();
54
54
  const results = [];
55
- valueResults?.forEach((result, index) => {
55
+ for (const result of valueResults || []) {
56
56
  if (result && result[1]) {
57
- const data = result[1];
58
- const finalData = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_decompressData).call(this, data);
57
+ const buffer = result[1];
59
58
  try {
59
+ const finalData = await __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_decompressData).call(this, buffer);
60
60
  results.push(JSON.parse(finalData));
61
61
  }
62
62
  catch (e) {
@@ -64,7 +64,7 @@ class RedisCachingProvider {
64
64
  console.warn(`Skipping corrupted cache entry: ${e.message}`);
65
65
  }
66
66
  }
67
- });
67
+ }
68
68
  return results;
69
69
  }
70
70
  return null;
@@ -73,27 +73,30 @@ class RedisCachingProvider {
73
73
  const keyName = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getKeyName).call(this, key);
74
74
  const serializedData = JSON.stringify(data);
75
75
  const effectiveTTL = ttl ?? this.defaultTTL;
76
- const finalData = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_compressData).call(this, serializedData);
77
- const hashData = {
78
- data: finalData,
79
- };
80
- if (options && Object.keys(options).length) {
81
- hashData.options = JSON.stringify(options);
82
- }
83
- await this.redisClient.hset(keyName, hashData);
84
- if (effectiveTTL) {
85
- await this.redisClient.expire(keyName, effectiveTTL);
76
+ const finalData = await __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_compressData).call(this, serializedData);
77
+ const res = await this.redisClient.hsetnx(keyName, "data", finalData);
78
+ if (res === 1) {
79
+ if (options && Object.keys(options).length) {
80
+ await this.redisClient.hset(keyName, "options", JSON.stringify(options));
81
+ }
82
+ if (effectiveTTL) {
83
+ await this.redisClient.expire(keyName, effectiveTTL);
84
+ }
86
85
  }
87
- // Store tags in a separate key for inverted index lookup
88
- if (tags && tags.length) {
86
+ // Store tag IDs in a separate key for inverted index lookup (much more space efficient)
87
+ if (tags?.length) {
88
+ const tagIds = await __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_internTags).call(this, tags);
89
89
  const tagsKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagsKey).call(this, key);
90
- const tagsJson = JSON.stringify(tags);
91
- const finalTagsData = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_compressData).call(this, tagsJson);
90
+ // Store as binary array of 32-bit integers instead of JSON strings
91
+ const buffer = Buffer.alloc(tagIds.length * 4);
92
+ tagIds.forEach((id, index) => {
93
+ buffer.writeUInt32LE(id, index * 4);
94
+ });
92
95
  if (effectiveTTL) {
93
- await this.redisClient.setex(tagsKey, effectiveTTL + 60, finalTagsData); // +1 minute buffer
96
+ await this.redisClient.set(tagsKey, buffer, "EX", effectiveTTL + 60, "NX"); // +1 minute buffer
94
97
  }
95
98
  else {
96
- await this.redisClient.set(tagsKey, finalTagsData);
99
+ await this.redisClient.setnx(tagsKey, buffer);
97
100
  }
98
101
  }
99
102
  // Handle tags if provided
@@ -115,32 +118,36 @@ class RedisCachingProvider {
115
118
  const keyName = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getKeyName).call(this, key);
116
119
  // Get tags for this key to clean up tag sets
117
120
  const tagsKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagsKey).call(this, key);
118
- const tagsData = await this.redisClient.get(tagsKey);
119
- if (tagsData) {
121
+ const tagsBuffer = await this.redisClient.getBuffer(tagsKey);
122
+ if (tagsBuffer) {
120
123
  try {
121
- console.log("tagsData", tagsData);
122
- const finalTagsData = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_decompressData).call(this, tagsData);
123
- const entryTags = JSON.parse(finalTagsData);
124
- // Remove this key from all its tag sets
125
- if (entryTags.length) {
124
+ // Binary format: array of 32-bit integers
125
+ const tagIds = [];
126
+ for (let i = 0; i < tagsBuffer.length; i += 4) {
127
+ tagIds.push(tagsBuffer.readUInt32LE(i));
128
+ }
129
+ if (tagIds.length) {
130
+ const entryTags = await __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_resolveTagIds).call(this, tagIds);
131
+ // Clean up tag indexes
126
132
  const tagCleanupPipeline = this.redisClient.pipeline();
127
133
  entryTags.forEach((tag) => {
128
- const tagKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagKey).call(this, tag);
134
+ const tagKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagKey).call(this, tag, { isHashed: true });
129
135
  tagCleanupPipeline.srem(tagKey, keyName);
130
136
  });
131
- // Also delete the tags key
132
137
  tagCleanupPipeline.unlink(tagsKey);
133
138
  await tagCleanupPipeline.exec();
139
+ // Decrement reference counts and cleanup unused tags
140
+ await __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_decrementTagRefs).call(this, tagIds);
134
141
  }
135
142
  }
136
143
  catch (e) {
137
- throw new Error(`Failed to clear tags for key ${keyName}: ${e}`);
144
+ // noop - corrupted tag data, skip cleanup
138
145
  }
139
146
  }
140
147
  await this.redisClient.unlink(keyName);
141
148
  return;
142
149
  }
143
- if (tags && tags.length) {
150
+ if (tags?.length) {
144
151
  // Handle wildcard tag to clear all cache data
145
152
  if (tags.includes("*")) {
146
153
  await this.flush();
@@ -154,7 +161,7 @@ class RedisCachingProvider {
154
161
  });
155
162
  const tagResults = await pipeline.exec();
156
163
  const allKeys = new Set();
157
- tagResults?.forEach((result, index) => {
164
+ tagResults?.forEach((result) => {
158
165
  if (result && result[1]) {
159
166
  ;
160
167
  result[1].forEach((key) => allKeys.add(key));
@@ -172,30 +179,37 @@ class RedisCachingProvider {
172
179
  const tagDataPromises = Array.from(allKeys).map(async (key) => {
173
180
  const keyWithoutPrefix = key.replace(this.keyNamePrefix, "");
174
181
  const tagsKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagsKey).call(this, keyWithoutPrefix);
175
- const tagsData = await this.redisClient.get(tagsKey);
182
+ const tagsData = await this.redisClient.getBuffer(tagsKey);
176
183
  return { key, tagsKey, tagsData };
177
184
  });
178
185
  const tagResults = await Promise.all(tagDataPromises);
179
186
  // Build single pipeline for all tag cleanup operations
180
187
  const tagCleanupPipeline = this.redisClient.pipeline();
181
- tagResults.forEach(({ key, tagsKey, tagsData }) => {
188
+ const cleanupPromises = tagResults.map(async ({ key, tagsKey, tagsData }) => {
182
189
  if (tagsData) {
183
190
  try {
184
- const finalTagsData = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_decompressData).call(this, tagsData);
185
- const entryTags = JSON.parse(finalTagsData);
186
- if (entryTags.length) {
191
+ // Binary format: array of 32-bit integers
192
+ const tagIds = [];
193
+ for (let i = 0; i < tagsData.length; i += 4) {
194
+ tagIds.push(tagsData.readUInt32LE(i));
195
+ }
196
+ if (tagIds.length) {
197
+ const entryTags = await __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_resolveTagIds).call(this, tagIds);
187
198
  entryTags.forEach((tag) => {
188
- const tagKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagKey).call(this, tag);
199
+ const tagKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagKey).call(this, tag, { isHashed: true });
189
200
  tagCleanupPipeline.srem(tagKey, key);
190
201
  });
191
202
  tagCleanupPipeline.unlink(tagsKey);
203
+ // Decrement reference counts and cleanup unused tags
204
+ await __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_decrementTagRefs).call(this, tagIds);
192
205
  }
193
206
  }
194
207
  catch (e) {
195
- throw new Error(`Failed to clear tags for key ${key}: ${e}`);
208
+ // noop
196
209
  }
197
210
  }
198
211
  });
212
+ await Promise.all(cleanupPromises);
199
213
  await tagCleanupPipeline.exec();
200
214
  await deletePipeline.exec();
201
215
  // Clean up empty tag sets
@@ -237,7 +251,6 @@ class RedisCachingProvider {
237
251
  }
238
252
  }
239
253
  catch (e) {
240
- throw new Error(`Failed to clear tags for key ${key}: ${e}`);
241
254
  // If can't parse options, assume it's safe to delete (default true)
242
255
  keysToDelete.push(key);
243
256
  }
@@ -256,22 +269,30 @@ class RedisCachingProvider {
256
269
  const tagDataPromises = keysToDelete.map(async (key) => {
257
270
  const keyWithoutPrefix = key.replace(this.keyNamePrefix, "");
258
271
  const tagsKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagsKey).call(this, keyWithoutPrefix);
259
- const tagsData = await this.redisClient.get(tagsKey);
272
+ const tagsData = await this.redisClient.getBuffer(tagsKey);
260
273
  return { key, tagsKey, tagsData };
261
274
  });
275
+ // Wait for all tag data fetches
262
276
  const tagResults = await Promise.all(tagDataPromises);
277
+ // Build single pipeline for all tag cleanup operations
263
278
  const tagCleanupPipeline = this.redisClient.pipeline();
264
- tagResults.forEach(({ key, tagsKey, tagsData }) => {
279
+ const cleanupPromises = tagResults.map(async ({ key, tagsKey, tagsData }) => {
265
280
  if (tagsData) {
266
281
  try {
267
- const finalTagsData = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_decompressData).call(this, tagsData);
268
- const entryTags = JSON.parse(finalTagsData);
269
- if (entryTags.length) {
282
+ // Binary format: array of 32-bit integers
283
+ const tagIds = [];
284
+ for (let i = 0; i < tagsData.length; i += 4) {
285
+ tagIds.push(tagsData.readUInt32LE(i));
286
+ }
287
+ if (tagIds.length) {
288
+ const entryTags = await __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_resolveTagIds).call(this, tagIds);
270
289
  entryTags.forEach((tag) => {
271
- const tagKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagKey).call(this, tag);
290
+ const tagKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagKey).call(this, tag, { isHashed: true });
272
291
  tagCleanupPipeline.srem(tagKey, key);
273
292
  });
274
- tagCleanupPipeline.unlink(tagsKey);
293
+ tagCleanupPipeline.unlink(tagsKey); // Delete the tags key
294
+ // Decrement reference counts and cleanup unused tags
295
+ await __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_decrementTagRefs).call(this, tagIds);
275
296
  }
276
297
  }
277
298
  catch (e) {
@@ -279,8 +300,10 @@ class RedisCachingProvider {
279
300
  }
280
301
  }
281
302
  });
303
+ await Promise.all(cleanupPromises);
282
304
  await tagCleanupPipeline.exec();
283
305
  await deletePipeline.exec();
306
+ // Clean up empty tag sets
284
307
  const allTagKeys = await this.redisClient.keys(`${this.keyNamePrefix}tag:*`);
285
308
  if (allTagKeys.length) {
286
309
  const cleanupPipeline = this.redisClient.pipeline();
@@ -288,7 +311,7 @@ class RedisCachingProvider {
288
311
  cleanupPipeline.scard(tagKey);
289
312
  });
290
313
  const cardinalityResults = await cleanupPipeline.exec();
291
- // Delete tag keys that are empty
314
+ // Delete tag keys that are now empty
292
315
  const emptyTagDeletePipeline = this.redisClient.pipeline();
293
316
  cardinalityResults?.forEach((result, index) => {
294
317
  if (result && result[1] === 0) {
@@ -321,44 +344,166 @@ class RedisCachingProvider {
321
344
  exports.RedisCachingProvider = RedisCachingProvider;
322
345
  _RedisCachingProvider_instances = new WeakSet(), _RedisCachingProvider_getKeyName = function _RedisCachingProvider_getKeyName(key) {
323
346
  return `${this.keyNamePrefix}${key}`;
324
- }, _RedisCachingProvider_getTagKey = function _RedisCachingProvider_getTagKey(tag) {
325
- return `${this.keyNamePrefix}tag:${this.hasher(tag)}`;
347
+ }, _RedisCachingProvider_getTagKey = function _RedisCachingProvider_getTagKey(tag, { isHashed = false } = {}) {
348
+ return `${this.keyNamePrefix}tag:${isHashed ? tag : this.hasher(tag)}`;
326
349
  }, _RedisCachingProvider_getTagsKey = function _RedisCachingProvider_getTagsKey(key) {
327
350
  return `${this.keyNamePrefix}tags:${key}`;
328
- }, _RedisCachingProvider_compressData = function _RedisCachingProvider_compressData(data) {
329
- if (true || data.length <= this.compressionThreshold) {
330
- return `0:${data}`;
331
- }
332
- try {
333
- const inputBuffer = new Uint8Array(Buffer.from(data, "utf8"));
334
- const compressed = (0, lz4_wasm_nodejs_1.compress)(inputBuffer);
335
- if (compressed.length < data.length) {
336
- const compressedData = Buffer.from(compressed).toString("base64");
337
- return `1:${compressedData}`;
351
+ }, _RedisCachingProvider_getTagDictionaryKey = function _RedisCachingProvider_getTagDictionaryKey() {
352
+ return `${this.keyNamePrefix}tag:dictionary`;
353
+ }, _RedisCachingProvider_getTagNextIdKey = function _RedisCachingProvider_getTagNextIdKey() {
354
+ return `${this.keyNamePrefix}tag:next_id`;
355
+ }, _RedisCachingProvider_getTagRefCountKey = function _RedisCachingProvider_getTagRefCountKey() {
356
+ return `${this.keyNamePrefix}tag:refs`;
357
+ }, _RedisCachingProvider_getTagReverseDictionaryKey = function _RedisCachingProvider_getTagReverseDictionaryKey() {
358
+ return `${this.keyNamePrefix}tag:reverse_dict`;
359
+ }, _RedisCachingProvider_internTags = async function _RedisCachingProvider_internTags(tags) {
360
+ const pipeline = this.redisClient.pipeline();
361
+ const dictionaryKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagDictionaryKey).call(this);
362
+ const hashedTags = tags.map((tag) => this.hasher(tag));
363
+ // Get existing tag IDs
364
+ hashedTags.forEach((tag) => {
365
+ pipeline.hget(dictionaryKey, tag);
366
+ });
367
+ const results = await pipeline.exec();
368
+ const tagIds = [];
369
+ const newTags = [];
370
+ for (let i = 0; i < hashedTags.length; i++) {
371
+ const result = results?.[i];
372
+ if (result && result[1]) {
373
+ tagIds[i] = parseInt(result[1]);
338
374
  }
339
375
  else {
340
- return `0:${data}`;
376
+ const hashedTag = hashedTags[i];
377
+ newTags.push(hashedTag);
378
+ tagIds[i] = -1; // Placeholder for new tags
341
379
  }
342
380
  }
343
- catch (error) {
344
- return `0:${data}`;
381
+ // Create IDs for new tags
382
+ if (newTags.length) {
383
+ const nextIdKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagNextIdKey).call(this);
384
+ const reverseDictKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagReverseDictionaryKey).call(this);
385
+ const startId = await this.redisClient.incrby(nextIdKey, newTags.length);
386
+ const newTagPipeline = this.redisClient.pipeline();
387
+ newTags.forEach((tag, index) => {
388
+ const newId = startId - newTags.length + index + 1;
389
+ // Store in both forward and reverse dictionaries
390
+ newTagPipeline.hset(dictionaryKey, tag, newId.toString());
391
+ newTagPipeline.hset(reverseDictKey, newId.toString(), tag);
392
+ // Update the tagIds array
393
+ const originalIndex = hashedTags.indexOf(tag);
394
+ tagIds[originalIndex] = newId;
395
+ });
396
+ await newTagPipeline.exec();
345
397
  }
346
- }, _RedisCachingProvider_decompressData = function _RedisCachingProvider_decompressData(data) {
347
- if (data.charAt(0) === "0") {
348
- return data.substring(2);
349
- }
350
- if (data.charAt(0) === "1") {
351
- const content = data.substring(2);
352
- try {
353
- const compressedBuffer = Buffer.from(content, "base64");
354
- const decompressed = (0, lz4_wasm_nodejs_1.decompress)(new Uint8Array(compressedBuffer));
355
- return Buffer.from(decompressed).toString("utf8");
356
- }
357
- catch (error) {
358
- return content;
398
+ // Increment reference count for all tags (existing and new)
399
+ const refCountKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagRefCountKey).call(this);
400
+ const refPipeline = this.redisClient.pipeline();
401
+ tagIds.forEach((id) => {
402
+ refPipeline.hincrby(refCountKey, id.toString(), 1);
403
+ });
404
+ await refPipeline.exec();
405
+ return tagIds;
406
+ }, _RedisCachingProvider_resolveTagIds = async function _RedisCachingProvider_resolveTagIds(tagIds) {
407
+ if (tagIds.length === 0)
408
+ return [];
409
+ const reverseDictKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagReverseDictionaryKey).call(this);
410
+ const pipeline = this.redisClient.pipeline();
411
+ // Direct lookup using reverse dictionary - much more efficient!
412
+ tagIds.forEach((id) => {
413
+ pipeline.hget(reverseDictKey, id.toString());
414
+ });
415
+ const results = await pipeline.exec();
416
+ return results?.map((result) => result?.[1]).filter(Boolean) || [];
417
+ }, _RedisCachingProvider_decrementTagRefs = async function _RedisCachingProvider_decrementTagRefs(tagIds) {
418
+ if (tagIds.length === 0)
419
+ return;
420
+ const refCountKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagRefCountKey).call(this);
421
+ const dictionaryKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagDictionaryKey).call(this);
422
+ // Decrement reference counts and collect tags with zero refs
423
+ const pipeline = this.redisClient.pipeline();
424
+ tagIds.forEach((id) => {
425
+ pipeline.hincrby(refCountKey, id.toString(), -1);
426
+ });
427
+ const results = await pipeline.exec();
428
+ const tagsToCleanup = [];
429
+ // Find tags that now have zero references
430
+ results?.forEach((result, index) => {
431
+ if (result && result[1] === 0) {
432
+ tagsToCleanup.push(tagIds[index]);
359
433
  }
434
+ });
435
+ // Clean up tags with zero references
436
+ if (tagsToCleanup.length) {
437
+ const cleanupPipeline = this.redisClient.pipeline();
438
+ const reverseDictKey = __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_getTagReverseDictionaryKey).call(this);
439
+ // Get tag names before deleting them
440
+ const tagNames = await __classPrivateFieldGet(this, _RedisCachingProvider_instances, "m", _RedisCachingProvider_resolveTagIds).call(this, tagsToCleanup);
441
+ tagsToCleanup.forEach((id, index) => {
442
+ const idStr = id.toString();
443
+ // Remove from reference count hash
444
+ cleanupPipeline.hdel(refCountKey, idStr);
445
+ // Remove from reverse dictionary
446
+ cleanupPipeline.hdel(reverseDictKey, idStr);
447
+ // Remove from forward dictionary
448
+ if (tagNames[index]) {
449
+ cleanupPipeline.hdel(dictionaryKey, tagNames[index]);
450
+ }
451
+ });
452
+ await cleanupPipeline.exec();
453
+ }
454
+ }, _RedisCachingProvider_compressData = async function _RedisCachingProvider_compressData(data) {
455
+ if (data.length <= this.compressionThreshold) {
456
+ const buffer = Buffer.from(data, "utf8");
457
+ const prefix = Buffer.from([0]); // 0 = uncompressed
458
+ return Buffer.concat([prefix, buffer]);
459
+ }
460
+ return new Promise((resolve, reject) => {
461
+ const chunks = [];
462
+ const gzip = (0, zlib_1.createGzip)();
463
+ gzip.on("data", (chunk) => chunks.push(chunk));
464
+ gzip.on("end", () => {
465
+ const compressedBuffer = Buffer.concat(chunks);
466
+ const prefix = Buffer.from([1]); // 1 = compressed
467
+ resolve(Buffer.concat([prefix, compressedBuffer]));
468
+ });
469
+ gzip.on("error", (error) => {
470
+ const buffer = Buffer.from(data, "utf8");
471
+ const prefix = Buffer.from([0]);
472
+ resolve(Buffer.concat([prefix, buffer]));
473
+ });
474
+ gzip.write(data, "utf8");
475
+ gzip.end();
476
+ });
477
+ }, _RedisCachingProvider_decompressData = async function _RedisCachingProvider_decompressData(buffer) {
478
+ if (buffer.length === 0) {
479
+ return "";
480
+ }
481
+ const formatByte = buffer[0];
482
+ const dataBuffer = buffer.subarray(1);
483
+ if (formatByte === 0) {
484
+ // Uncompressed
485
+ return dataBuffer.toString("utf8");
486
+ }
487
+ if (formatByte === 1) {
488
+ // Compressed with gzip
489
+ return new Promise((resolve, reject) => {
490
+ const chunks = [];
491
+ const gunzip = (0, zlib_1.createGunzip)();
492
+ gunzip.on("data", (chunk) => chunks.push(chunk));
493
+ gunzip.on("end", () => {
494
+ const decompressed = Buffer.concat(chunks).toString("utf8");
495
+ resolve(decompressed);
496
+ });
497
+ gunzip.on("error", (error) => {
498
+ // Fallback: return as-is if decompression fails
499
+ resolve(dataBuffer.toString("utf8"));
500
+ });
501
+ gunzip.write(dataBuffer);
502
+ gunzip.end();
503
+ });
360
504
  }
361
- return data;
505
+ // Unknown format, return as UTF-8
506
+ return buffer.toString("utf8");
362
507
  };
363
508
  RedisCachingProvider.identifier = "cache-redis";
364
509
  //# sourceMappingURL=redis-cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"redis-cache.js","sourceRoot":"","sources":["../../src/services/redis-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redis-cache.js","sourceRoot":"","sources":["../../src/services/redis-cache.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medusajs/caching-redis",
3
- "version": "2.10.4-snapshot-20250928135304",
3
+ "version": "2.10.4-snapshot-20250929174531",
4
4
  "description": "Redis Caching for Medusa",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
@@ -20,7 +20,7 @@
20
20
  "author": "Medusa",
21
21
  "license": "MIT",
22
22
  "devDependencies": {
23
- "@medusajs/framework": "2.10.4-snapshot-20250928135304",
23
+ "@medusajs/framework": "2.10.4-snapshot-20250929174531",
24
24
  "@swc/core": "^1.7.28",
25
25
  "@swc/jest": "^0.2.36",
26
26
  "jest": "^29.7.0",
@@ -28,11 +28,10 @@
28
28
  "typescript": "^5.6.2"
29
29
  },
30
30
  "peerDependencies": {
31
- "@medusajs/framework": "2.10.4-snapshot-20250928135304"
31
+ "@medusajs/framework": "2.10.4-snapshot-20250929174531"
32
32
  },
33
33
  "dependencies": {
34
34
  "ioredis": "^5.4.1",
35
- "lz4-wasm-nodejs": "^0.9.2",
36
35
  "xxhash-wasm": "^1.1.0"
37
36
  },
38
37
  "scripts": {