forge.cache¶
Decorator-based caching with in-memory LRU and Redis backends.
forge.cache ¶
Classes¶
CacheBackendError ¶
Bases: CacheError
Raised when a cache backend operation fails or is unavailable.
CacheError ¶
Bases: ForgeError
Base exception for all cache-related errors.
CacheModule ¶
Bases: ForgeModule
Manages caching services and pluggable storage backends for the forge runtime.
Source code in src/forge/cache/module.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | |
Attributes¶
Methods:¶
clear
async
¶
delete
async
¶
get
async
¶
Get a value from cache and emit hit/miss event.
Source code in src/forge/cache/module.py
has
async
¶
health_check ¶
Check the health status of the caching backend.
Source code in src/forge/cache/module.py
set
async
¶
Set a cache value and emit set event.
Source code in src/forge/cache/module.py
setup
async
¶
Initialize cache module and configure settings.
Source code in src/forge/cache/module.py
teardown
async
¶
Functions:¶
cached ¶
cached(ttl: int | None = None, key: str | None = None, namespace: str | None = None, backend: CacheBackend | None = None) -> Callable[[F], F]
Decorator for caching async function results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
ttl
|
int | None
|
Time-to-live in seconds. Defaults to cache module default_ttl. |
None
|
key
|
str | None
|
Cache key template. Supports {arg_name} interpolation from function args. |
None
|
namespace
|
str | None
|
Optional namespace prefix for the cache key. |
None
|
backend
|
CacheBackend | None
|
Optional custom backend to use instead of the active module. |
None
|
Source code in src/forge/cache/decorators.py
invalidate
async
¶
Convenience helper to invalidate a cache key in the active cache module.