@memberjunction/redis-provider 5.30.1 → 5.31.0

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/README.md CHANGED
@@ -209,14 +209,46 @@ Creates a new provider and establishes a Redis connection. The connection is laz
209
209
 
210
210
  #### ILocalStorageProvider Methods
211
211
 
212
+ The interface is **generic-typed** — `T` flows from caller through to retrieved value:
213
+
212
214
  | Method | Description |
213
215
  |--------|-------------|
214
- | `GetItem(key, category?)` | Retrieves a cached value. Returns `null` on miss or error. |
215
- | `SetItem(key, value, category?, ttlSeconds?)` | Stores a value with optional TTL. Uses pipeline for atomic set + category tracking. |
216
+ | `GetItem<T>(key, category?)` | Retrieves a cached value. **JSON-deserializes internally** — returns the typed object. Returns `null` on miss, corrupt entry, or Redis unavailability. |
217
+ | `GetItems<T>(keys, category?)` | **Batched read via Redis `MGET`** — one command, one network round-trip, N values. Returns `Map<string, T \| null>`. Missing/corrupt entries map to `null` per-key without failing the batch. ~N× faster than individual `GetItem` calls which each pay full RTT. |
218
+ | `SetItem<T>(key, value, category?, ttlSeconds?)` | Stores a value with optional TTL. **JSON-serializes internally** — pass plain objects/arrays/primitives. Uses pipeline for atomic set + category tracking. |
216
219
  | `Remove(key, category?)` | Deletes a key and removes it from category tracking. |
217
220
  | `ClearCategory(category)` | Deletes all keys in a category using the tracking Set. |
218
221
  | `GetCategoryKeys(category)` | Returns all key names in a category. |
219
222
 
223
+ **Internal serialization**: Redis stores strings, so `SetItem` calls `JSON.stringify(value)` and `GetItem` calls `JSON.parse(raw)` automatically. Callers see a typed object interface — no manual `JSON.parse`/`JSON.stringify` needed.
224
+
225
+ **Type fidelity caveats** (JSON limitations apply):
226
+
227
+ - `Date` instances become ISO strings on round-trip (caller must re-wrap with `new Date(value)` if a Date is needed)
228
+ - `Map`/`Set` become plain objects/arrays
229
+ - Functions are silently dropped
230
+ - Circular references throw — the provider catches and logs; the failed `SetItem` call resolves without throwing, but the value is not stored
231
+
232
+ For a richer storage model that preserves `Date`/`Map`/`Set`/typed arrays natively, use `BrowserIndexedDBStorageProvider` (browser-side) which leverages IndexedDB's structured clone algorithm.
233
+
234
+ #### Example: typed round-trip
235
+
236
+ ```typescript
237
+ interface CachedSession { userId: string; expiresAt: string; permissions: string[]; }
238
+
239
+ await provider.SetItem<CachedSession>('session:abc', {
240
+ userId: 'u-1',
241
+ expiresAt: '2026-06-01T00:00:00Z',
242
+ permissions: ['read', 'write']
243
+ }, 'Sessions', 3600); // 1-hour TTL
244
+
245
+ const session = await provider.GetItem<CachedSession>('session:abc', 'Sessions');
246
+ // ^^^^^^^ typed as CachedSession | null
247
+ if (session) {
248
+ console.log(session.permissions); // already typed
249
+ }
250
+ ```
251
+
220
252
  #### Additional Methods
221
253
 
222
254
  | Method | Description |
@@ -235,22 +235,46 @@ export declare class RedisLocalStorageProvider implements ILocalStorageProvider
235
235
  /**
236
236
  * Retrieves a value from Redis by key and optional category.
237
237
  *
238
+ * Redis stores values as strings — this method JSON-deserializes the stored value
239
+ * internally so callers see a typed object back. Returns `null` for missing keys,
240
+ * Redis unavailability, or corrupt JSON.
241
+ *
242
+ * @typeParam T - Expected type of the stored value. Caller-controlled.
238
243
  * @param key - The key to look up
239
244
  * @param category - Optional category for key isolation (defaults to `"default"`)
240
- * @returns The stored string value, or `null` if the key doesn't exist or Redis is unavailable
241
245
  *
242
246
  * @example
243
247
  * ```typescript
244
- * const value = await provider.GetItem('entity-metadata', 'Metadata');
248
+ * interface CachedEntity { ID: string; Name: string; }
249
+ * const value = await provider.GetItem<CachedEntity>('entity-metadata', 'Metadata');
245
250
  * if (value) {
246
- * const metadata = JSON.parse(value);
251
+ * console.log(value.Name); // already typed
247
252
  * }
248
253
  * ```
249
254
  */
250
- GetItem(key: string, category?: string): Promise<string | null>;
255
+ GetItem<T = unknown>(key: string, category?: string): Promise<T | null>;
256
+ /**
257
+ * Batched read using Redis `MGET` — one command, one network round-trip,
258
+ * N values returned. For N keys this is ~N× faster than individual `GET`s
259
+ * which each pay full RTT.
260
+ *
261
+ * Inputs are deduplicated (same key requested twice → one Redis fetch, one
262
+ * map entry). Missing keys, corrupt JSON entries, and Redis errors all map
263
+ * to `null` for the affected key — callers see them as cache misses.
264
+ *
265
+ * @typeParam T - Expected type of all stored values. Caller-controlled.
266
+ * @param keys - The keys to retrieve.
267
+ * @param category - Optional category for key isolation.
268
+ */
269
+ GetItems<T = unknown>(keys: string[], category?: string): Promise<Map<string, T | null>>;
251
270
  /**
252
271
  * Stores a value in Redis under the given key and optional category.
253
272
  *
273
+ * Redis stores values as strings — this method JSON-serializes the value internally.
274
+ * Callers should pass plain data (objects/arrays/primitives). Class instances will
275
+ * lose their prototype on retrieval; functions, Maps, Sets, and Dates have JSON's
276
+ * usual limitations.
277
+ *
254
278
  * If a `ttlSeconds` is provided, the key will automatically expire after that
255
279
  * duration. Otherwise, the configured `defaultTTLSeconds` is used. If neither
256
280
  * is set, the key persists indefinitely.
@@ -258,21 +282,22 @@ export declare class RedisLocalStorageProvider implements ILocalStorageProvider
258
282
  * The key is also added to a Redis Set that tracks all keys in the category,
259
283
  * enabling efficient `ClearCategory()` and `GetCategoryKeys()` operations.
260
284
  *
285
+ * @typeParam T - Type of the value being stored. Caller-controlled.
261
286
  * @param key - The key to store under
262
- * @param value - The string value to store
287
+ * @param value - The value to store (will be JSON-serialized internally)
263
288
  * @param category - Optional category for key isolation (defaults to `"default"`)
264
289
  * @param ttlSeconds - Optional time-to-live in seconds. Overrides `defaultTTLSeconds` from config.
265
290
  *
266
291
  * @example
267
292
  * ```typescript
268
293
  * // Store with default TTL
269
- * await provider.SetItem('view:users', JSON.stringify(results), 'RunViewCache');
294
+ * await provider.SetItem('view:users', { results, maxUpdatedAt }, 'RunViewCache');
270
295
  *
271
296
  * // Store with explicit 10-minute TTL
272
- * await provider.SetItem('view:users', JSON.stringify(results), 'RunViewCache', 600);
297
+ * await provider.SetItem('view:users', { results }, 'RunViewCache', 600);
273
298
  * ```
274
299
  */
275
- SetItem(key: string, value: string, category?: string, ttlSeconds?: number): Promise<void>;
300
+ SetItem<T>(key: string, value: T, category?: string, ttlSeconds?: number): Promise<void>;
276
301
  /**
277
302
  * Removes a key from Redis and from its category tracking set.
278
303
  *
@@ -1 +1 @@
1
- {"version":3,"file":"RedisLocalStorageProvider.d.ts","sourceRoot":"","sources":["../src/RedisLocalStorageProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RedisLocalStorageProvider.d.ts","sourceRoot":"","sources":["../src/RedisLocalStorageProvider.ts"],"names":[],"mappings":"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"}
@@ -218,22 +218,39 @@ export class RedisLocalStorageProvider {
218
218
  /**
219
219
  * Retrieves a value from Redis by key and optional category.
220
220
  *
221
+ * Redis stores values as strings — this method JSON-deserializes the stored value
222
+ * internally so callers see a typed object back. Returns `null` for missing keys,
223
+ * Redis unavailability, or corrupt JSON.
224
+ *
225
+ * @typeParam T - Expected type of the stored value. Caller-controlled.
221
226
  * @param key - The key to look up
222
227
  * @param category - Optional category for key isolation (defaults to `"default"`)
223
- * @returns The stored string value, or `null` if the key doesn't exist or Redis is unavailable
224
228
  *
225
229
  * @example
226
230
  * ```typescript
227
- * const value = await provider.GetItem('entity-metadata', 'Metadata');
231
+ * interface CachedEntity { ID: string; Name: string; }
232
+ * const value = await provider.GetItem<CachedEntity>('entity-metadata', 'Metadata');
228
233
  * if (value) {
229
- * const metadata = JSON.parse(value);
234
+ * console.log(value.Name); // already typed
230
235
  * }
231
236
  * ```
232
237
  */
233
238
  async GetItem(key, category) {
234
239
  try {
235
240
  const redisKey = this.buildKey(key, category ?? DEFAULT_CATEGORY);
236
- return await this._client.get(redisKey);
241
+ const raw = await this._client.get(redisKey);
242
+ if (raw === null)
243
+ return null;
244
+ try {
245
+ return JSON.parse(raw);
246
+ }
247
+ catch {
248
+ // Corrupt entry — treat as cache miss so the caller refetches.
249
+ if (this._enableLogging) {
250
+ LogError(`Redis GetItem: failed to JSON.parse value at "${redisKey}" — treating as cache miss`);
251
+ }
252
+ return null;
253
+ }
237
254
  }
238
255
  catch (err) {
239
256
  if (this._enableLogging) {
@@ -242,9 +259,67 @@ export class RedisLocalStorageProvider {
242
259
  return null;
243
260
  }
244
261
  }
262
+ /**
263
+ * Batched read using Redis `MGET` — one command, one network round-trip,
264
+ * N values returned. For N keys this is ~N× faster than individual `GET`s
265
+ * which each pay full RTT.
266
+ *
267
+ * Inputs are deduplicated (same key requested twice → one Redis fetch, one
268
+ * map entry). Missing keys, corrupt JSON entries, and Redis errors all map
269
+ * to `null` for the affected key — callers see them as cache misses.
270
+ *
271
+ * @typeParam T - Expected type of all stored values. Caller-controlled.
272
+ * @param keys - The keys to retrieve.
273
+ * @param category - Optional category for key isolation.
274
+ */
275
+ async GetItems(keys, category) {
276
+ const out = new Map();
277
+ if (keys.length === 0)
278
+ return out;
279
+ try {
280
+ const cat = category ?? DEFAULT_CATEGORY;
281
+ const uniqueKeys = Array.from(new Set(keys));
282
+ const redisKeys = uniqueKeys.map(k => this.buildKey(k, cat));
283
+ // MGET returns an array of strings/nulls in the same order as the inputs.
284
+ // ioredis variadic call: pass keys as separate args.
285
+ const raws = await this._client.mget(...redisKeys);
286
+ for (let i = 0; i < uniqueKeys.length; i++) {
287
+ const raw = raws[i];
288
+ if (raw === null) {
289
+ out.set(uniqueKeys[i], null);
290
+ continue;
291
+ }
292
+ try {
293
+ out.set(uniqueKeys[i], JSON.parse(raw));
294
+ }
295
+ catch {
296
+ if (this._enableLogging) {
297
+ LogError(`Redis GetItems: failed to JSON.parse value at "${redisKeys[i]}" — treating as cache miss`);
298
+ }
299
+ out.set(uniqueKeys[i], null);
300
+ }
301
+ }
302
+ return out;
303
+ }
304
+ catch (err) {
305
+ if (this._enableLogging) {
306
+ LogError(`Redis GetItems failed for ${keys.length} keys: ${err.message}`);
307
+ }
308
+ // On error, return null entries for every requested key — callers see them as cache misses.
309
+ for (const key of new Set(keys)) {
310
+ out.set(key, null);
311
+ }
312
+ return out;
313
+ }
314
+ }
245
315
  /**
246
316
  * Stores a value in Redis under the given key and optional category.
247
317
  *
318
+ * Redis stores values as strings — this method JSON-serializes the value internally.
319
+ * Callers should pass plain data (objects/arrays/primitives). Class instances will
320
+ * lose their prototype on retrieval; functions, Maps, Sets, and Dates have JSON's
321
+ * usual limitations.
322
+ *
248
323
  * If a `ttlSeconds` is provided, the key will automatically expire after that
249
324
  * duration. Otherwise, the configured `defaultTTLSeconds` is used. If neither
250
325
  * is set, the key persists indefinitely.
@@ -252,18 +327,19 @@ export class RedisLocalStorageProvider {
252
327
  * The key is also added to a Redis Set that tracks all keys in the category,
253
328
  * enabling efficient `ClearCategory()` and `GetCategoryKeys()` operations.
254
329
  *
330
+ * @typeParam T - Type of the value being stored. Caller-controlled.
255
331
  * @param key - The key to store under
256
- * @param value - The string value to store
332
+ * @param value - The value to store (will be JSON-serialized internally)
257
333
  * @param category - Optional category for key isolation (defaults to `"default"`)
258
334
  * @param ttlSeconds - Optional time-to-live in seconds. Overrides `defaultTTLSeconds` from config.
259
335
  *
260
336
  * @example
261
337
  * ```typescript
262
338
  * // Store with default TTL
263
- * await provider.SetItem('view:users', JSON.stringify(results), 'RunViewCache');
339
+ * await provider.SetItem('view:users', { results, maxUpdatedAt }, 'RunViewCache');
264
340
  *
265
341
  * // Store with explicit 10-minute TTL
266
- * await provider.SetItem('view:users', JSON.stringify(results), 'RunViewCache', 600);
342
+ * await provider.SetItem('view:users', { results }, 'RunViewCache', 600);
267
343
  * ```
268
344
  */
269
345
  async SetItem(key, value, category, ttlSeconds) {
@@ -271,20 +347,32 @@ export class RedisLocalStorageProvider {
271
347
  const cat = category ?? DEFAULT_CATEGORY;
272
348
  const redisKey = this.buildKey(key, cat);
273
349
  const categorySetKey = this.buildCategorySetKey(cat);
350
+ // Serialize once. We need the string for both the Redis SET and (optionally)
351
+ // the pub/sub publishChange payload, so build it up front.
352
+ let serialized;
353
+ try {
354
+ serialized = JSON.stringify(value);
355
+ }
356
+ catch (err) {
357
+ if (this._enableLogging) {
358
+ LogError(`Redis SetItem: failed to JSON.stringify value for "${redisKey}": ${err.message}`);
359
+ }
360
+ return;
361
+ }
274
362
  const effectiveTTL = ttlSeconds ?? this._defaultTTLSeconds;
275
363
  // Use pipeline for atomic set + category tracking
276
364
  const pipeline = this._client.pipeline();
277
365
  if (effectiveTTL && effectiveTTL > 0) {
278
- pipeline.setex(redisKey, effectiveTTL, value);
366
+ pipeline.setex(redisKey, effectiveTTL, serialized);
279
367
  }
280
368
  else {
281
- pipeline.set(redisKey, value);
369
+ pipeline.set(redisKey, serialized);
282
370
  }
283
371
  // Track this key in the category set for ClearCategory/GetCategoryKeys
284
372
  pipeline.sadd(categorySetKey, key);
285
373
  await pipeline.exec();
286
374
  // Publish cache change event for cross-server invalidation
287
- this.publishChange(key, cat, 'set', value);
375
+ this.publishChange(key, cat, 'set', serialized);
288
376
  }
289
377
  catch (err) {
290
378
  if (this._enableLogging) {
@@ -1 +1 @@
1
- {"version":3,"file":"RedisLocalStorageProvider.js","sourceRoot":"","sources":["../src/RedisLocalStorageProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RedisLocalStorageProvider.js","sourceRoot":"","sources":["../src/RedisLocalStorageProvider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/redis-provider",
3
3
  "type": "module",
4
- "version": "5.30.1",
4
+ "version": "5.31.0",
5
5
  "description": "Redis-backed ILocalStorageProvider for MemberJunction — enables shared, persistent server-side caching via any Redis-compatible service (Azure Managed Redis, AWS ElastiCache, self-hosted, etc.)",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -17,8 +17,8 @@
17
17
  "author": "MemberJunction.com",
18
18
  "license": "ISC",
19
19
  "dependencies": {
20
- "@memberjunction/core": "5.30.1",
21
- "@memberjunction/global": "5.30.1",
20
+ "@memberjunction/core": "5.31.0",
21
+ "@memberjunction/global": "5.31.0",
22
22
  "ioredis": "^5.6.1"
23
23
  },
24
24
  "devDependencies": {