Commit 6580442
committed
feat(cache): add per-endpoint TTL configuration for API caching
Add ability to configure different cache TTLs for different endpoints:
- Support both single TTL (backward compatible) and per-endpoint config
- Add recommended TTLs: organizations (30 min), quota (10 min)
- Implement cache instance pooling to support multiple TTL values
- Maintain backward compatibility with existing cacheTtl number param
This reduces unnecessary API calls for rarely-changing data like
organization lists while keeping more dynamic data like quotas fresher.
Example usage:
```typescript
const sdk = new SocketSdk(token, {
cache: true,
cacheTtl: {
default: 5 * 60 * 1000, // 5 minutes
organizations: 30 * 60 * 1000, // 30 minutes
quota: 10 * 60 * 1000 // 10 minutes
}
});
```1 parent 3b6cae9 commit 6580442
3 files changed
+112
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
29 | 40 | | |
30 | 41 | | |
31 | 42 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
116 | 117 | | |
117 | 118 | | |
118 | 119 | | |
| 120 | + | |
| 121 | + | |
119 | 122 | | |
120 | 123 | | |
121 | 124 | | |
| |||
146 | 149 | | |
147 | 150 | | |
148 | 151 | | |
149 | | - | |
| 152 | + | |
150 | 153 | | |
151 | 154 | | |
152 | 155 | | |
| |||
180 | 183 | | |
181 | 184 | | |
182 | 185 | | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
183 | 193 | | |
184 | 194 | | |
185 | 195 | | |
186 | 196 | | |
187 | | - | |
| 197 | + | |
188 | 198 | | |
189 | 199 | | |
| 200 | + | |
| 201 | + | |
190 | 202 | | |
191 | 203 | | |
192 | 204 | | |
| |||
366 | 378 | | |
367 | 379 | | |
368 | 380 | | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
369 | 419 | | |
370 | 420 | | |
371 | 421 | | |
| 422 | + | |
372 | 423 | | |
373 | | - | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
374 | 429 | | |
375 | 430 | | |
376 | 431 | | |
377 | 432 | | |
378 | 433 | | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
379 | 447 | | |
380 | | - | |
| 448 | + | |
381 | 449 | | |
382 | 450 | | |
383 | 451 | | |
| |||
1789 | 1857 | | |
1790 | 1858 | | |
1791 | 1859 | | |
| 1860 | + | |
1792 | 1861 | | |
1793 | 1862 | | |
1794 | 1863 | | |
| |||
2370 | 2439 | | |
2371 | 2440 | | |
2372 | 2441 | | |
| 2442 | + | |
2373 | 2443 | | |
2374 | 2444 | | |
2375 | 2445 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
302 | 302 | | |
303 | 303 | | |
304 | 304 | | |
305 | | - | |
| 305 | + | |
| 306 | + | |
306 | 307 | | |
307 | 308 | | |
308 | 309 | | |
309 | 310 | | |
310 | 311 | | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
311 | 329 | | |
312 | | - | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
313 | 338 | | |
314 | 339 | | |
315 | 340 | | |
| |||
0 commit comments