Cache API Reference¶
In-memory TTL caching with decorator support.
financelib.cache.MemoryCache(default_ttl: int = 300, max_size: int = 1000)
¶
Bases: BaseCacheBackend
Thread-safe in-memory cache with TTL support.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
default_ttl
|
int
|
Default TTL in seconds (0 = no expiration). |
300
|
max_size
|
int
|
Maximum number of entries (0 = unlimited). |
1000
|
Example
cache = MemoryCache(default_ttl=300) cache.set("price:THYAO", 172.45) cache.get("price:THYAO") 172.45
Source code in financelib/cache.py
Functions¶
clear() -> None
¶
delete(key: str) -> bool
¶
Delete a key.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Cache key. |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if the key existed. |
get(key: str) -> Optional[Any]
¶
Get a value by key.
Returns None if the key doesn't exist or has expired.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Cache key. |
required |
Returns:
| Type | Description |
|---|---|
Optional[Any]
|
Cached value or None. |
Source code in financelib/cache.py
set(key: str, value: Any, ttl: Optional[int] = None) -> None
¶
Set a value with optional TTL.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key
|
str
|
Cache key. |
required |
value
|
Any
|
Value to cache. |
required |
ttl
|
Optional[int]
|
TTL in seconds. Uses default_ttl if None. |
None
|
Source code in financelib/cache.py
financelib.cache.cached(ttl: int = 300, cache: Optional[BaseCacheBackend] = None) -> Callable[[F], F]
¶
Decorator to cache function results.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
ttl
|
int
|
Cache TTL in seconds. |
300
|
cache
|
Optional[BaseCacheBackend]
|
Cache backend to use. Uses global MemoryCache if None. |
None
|
Returns:
| Type | Description |
|---|---|
Callable[[F], F]
|
Decorated function. |
Example
@cached(ttl=60) ... def fetch_price(symbol): ... return api.get_price(symbol)