valkyries 0.1.6 → 0.1.7

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,8 +1,17 @@
1
+ import type { GlideClient } from "@valkey/valkey-glide";
2
+ import type { ValkeyCache } from "../cache.mts";
1
3
  import { ValkeyCacheMutations } from "./mutations.mts";
4
+ export type ValkeyCacheDeleteFromCachesEntry<K = any> = {
5
+ cache: ValkeyCache<K>;
6
+ keys: readonly K[];
7
+ };
2
8
  export declare class ValkeyCacheDeletes<K = string> extends ValkeyCacheMutations<K> {
3
9
  delete(...keys: K[]): Promise<number>;
4
10
  protected deleteBySerializedKey(...serializedKeys: string[]): Promise<number>;
5
11
  invalidate(): Promise<void>;
6
- static invalidate(prefix: string, client?: import("@valkey/valkey-glide").GlideClient): Promise<void>;
12
+ static deleteFromCaches<K>(entries: readonly ValkeyCacheDeleteFromCachesEntry<K>[]): Promise<number>;
13
+ static deleteFromCaches(entries: readonly ValkeyCacheDeleteFromCachesEntry<any>[]): Promise<number>;
14
+ static invalidate(prefix: string, client?: GlideClient): Promise<void>;
15
+ private static deleteSerializedEntriesFromClient;
7
16
  }
8
17
  //# sourceMappingURL=deletes.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deletes.d.mts","sourceRoot":"","sources":["../../cache/deletes.mts"],"names":[],"mappings":"AASA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,qBAAa,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;cA+B3B,qBAAqB,CAAC,GAAG,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBnF,UAAU;WAIG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,6CAAoB;CAOnE"}
1
+ {"version":3,"file":"deletes.d.mts","sourceRoot":"","sources":["../../cache/deletes.mts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAUhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,MAAM,gCAAgC,CAAC,CAAC,GAAG,GAAG,IAAI;IACtD,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;CACpB,CAAC;AAYF,qBAAa,kBAAkB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IACnE,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;cA+B3B,qBAAqB,CAAC,GAAG,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBnF,UAAU;WAIG,gBAAgB,CAAC,CAAC,EAC7B,OAAO,EAAE,SAAS,gCAAgC,CAAC,CAAC,CAAC,EAAE,GACtD,OAAO,CAAC,MAAM,CAAC;WACL,gBAAgB,CAC3B,OAAO,EAAE,SAAS,gCAAgC,CAAC,GAAG,CAAC,EAAE,GACxD,OAAO,CAAC,MAAM,CAAC;WAgCL,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,cAAoB;mBAQ7C,iCAAiC;CA0BvD"}
@@ -54,9 +54,59 @@ export class ValkeyCacheDeletes extends ValkeyCacheMutations {
54
54
  invalidate() {
55
55
  return ValkeyCacheDeletes.invalidate(this.prefix, this.client);
56
56
  }
57
+ static async deleteFromCaches(entries) {
58
+ const groups = new Map();
59
+ for (const entry of entries) {
60
+ const serializedKeys = [];
61
+ for (const key of entry.keys) {
62
+ const serialized = entry.cache.toSerializedKey(key);
63
+ if (serialized !== null)
64
+ serializedKeys.push(serialized);
65
+ }
66
+ if (serializedKeys.length === 0)
67
+ continue;
68
+ const group = groups.get(entry.cache.client);
69
+ const serializedEntry = {
70
+ cache: entry.cache,
71
+ serializedKeys,
72
+ };
73
+ if (group) {
74
+ group.push(serializedEntry);
75
+ }
76
+ else {
77
+ groups.set(entry.cache.client, [serializedEntry]);
78
+ }
79
+ }
80
+ let deleted = 0;
81
+ for (const [client, group] of groups) {
82
+ deleted += await ValkeyCacheDeletes.deleteSerializedEntriesFromClient(client, group);
83
+ }
84
+ return deleted;
85
+ }
57
86
  static async invalidate(prefix, client = cacheValkeyClient) {
58
87
  await deleteKeysWithPrefix(client, prefix ? `${CACHE_NAMESPACE}:${prefix}:*` : `${CACHE_NAMESPACE}:*`);
59
88
  emitValkeyEvent("cache:invalidate", { cacheName: prefix });
60
89
  }
90
+ static async deleteSerializedEntriesFromClient(client, entries) {
91
+ const cacheKeys = [];
92
+ const invalidationKeys = [];
93
+ for (const entry of entries) {
94
+ for (const serializedKey of entry.serializedKeys) {
95
+ cacheKeys.push(entry.cache.getSerializedCacheKey(serializedKey));
96
+ invalidationKeys.push(entry.cache.getSerializedInvalidationKey(serializedKey));
97
+ }
98
+ }
99
+ const result = await client.invokeScript(cacheDeleteWithInvalidationScript, {
100
+ keys: [...cacheKeys, ...invalidationKeys],
101
+ args: [String(cacheKeys.length), String(INVALIDATION_MARKER_TTL_SECONDS)],
102
+ });
103
+ for (const entry of entries) {
104
+ emitValkeyEvent("cache:delete", {
105
+ cacheName: entry.cache.prefix,
106
+ keys: entry.serializedKeys,
107
+ });
108
+ }
109
+ return normalizeCountResult(result);
110
+ }
61
111
  }
62
112
  //# sourceMappingURL=deletes.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"deletes.mjs","sourceRoot":"","sources":["../../cache/deletes.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deletes.mjs","sourceRoot":"","sources":["../../cache/deletes.mts"],"names":[],"mappings":"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"}
package/dist/cache.d.mts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { ValkeyCacheDeletes } from "./cache/deletes.mts";
2
+ export type { ValkeyCacheDeleteFromCachesEntry } from "./cache/deletes.mts";
2
3
  export declare class ValkeyCache<K = string> extends ValkeyCacheDeletes<K> {
3
4
  }
4
5
  //# sourceMappingURL=cache.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.mts","sourceRoot":"","sources":["../cache.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,qBAAa,WAAW,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;CAAG"}
1
+ {"version":3,"file":"cache.d.mts","sourceRoot":"","sources":["../cache.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAE5E,qBAAa,WAAW,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,kBAAkB,CAAC,CAAC,CAAC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"cache.mjs","sourceRoot":"","sources":["../cache.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,OAAO,WAAwB,SAAQ,kBAAqB;CAAG"}
1
+ {"version":3,"file":"cache.mjs","sourceRoot":"","sources":["../cache.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,MAAM,OAAO,WAAwB,SAAQ,kBAAqB;CAAG"}
package/docs/cache.md CHANGED
@@ -164,6 +164,25 @@ cache.delete(...keys: K[]): Promise<number>
164
164
 
165
165
  Deletes cache entries and writes short-lived invalidation markers so in-flight read-through writes do not repopulate stale data.
166
166
 
167
+ ## `ValkeyCache.deleteFromCaches(entries)`
168
+
169
+ ```ts
170
+ ValkeyCache.deleteFromCaches([
171
+ { cache: usersPrivateCache, keys: userKeys },
172
+ { cache: usersPublicCache, keys: userKeys },
173
+ ]): Promise<number>
174
+ ```
175
+
176
+ Deletes entries from multiple cache instances while preserving the same invalidation-marker protection as `delete(...keys)`.
177
+
178
+ Behavior:
179
+
180
+ - Invalid keys are filtered through each cache instance's serializer.
181
+ - Entries sharing the same Valkey client are deleted with one script call.
182
+ - Entries using different clients are grouped by client.
183
+ - `cache:delete` events are emitted per cache prefix.
184
+ - The returned count is the sum of deleted cache keys.
185
+
167
186
  ## `invalidateCacheGetByAny(...keys)`
168
187
 
169
188
  ```ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valkyries",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "Valkey utilities for caches, bloom filters, dynamic configuration, and rate limiting.",
5
5
  "homepage": "https://github.com/jonathanong/valkyries#readme",
6
6
  "bugs": {