A simple tool for caching fastapi response
Project description
Fastapi easy cache
An easy to use tool for caching fastapi returnings
When should I use fastapi-easy-cache?
- Returning json serializable data
- Using GET method
- Returning dynamic but repeated data (like data refresh everyday)
- Don't have complicated requirements and too lazy to build a tool yourself
When should I NOT use fastapi-easy-cache?
- Returning not json serializable data (bytes, datetime, etc)
- Using POST method
- Returning frequently changing data (like data refresh every second)
- Need advanced features (recommend: fastapi-cache)
Installation
We recommend you have fastapi installed
pip install fastapi-easy-cache
Usage
Initializing
The following code will
- create a sqlite database in dbPath
- using peformance mode when calculating route identifier
import fastapi_easy_cache
fastapi_easy_cache.apiCache(db_path='./temp/cache', in_memory=False)
args
db_path: path to sqlite database in_memory: set up cache in memory, db_path will be database name when set to True
Using
You just need to add @cache(expire=20)
under fastapi route decorator, add flil in expire time and it's all done.
expire
is counted in second
from fastapi_easy_cache import cache
@app.get('/testCache/{path}')
@cache(expire=20)
def test(path):
data = path
return data
With GET route with arguments, you must add request: Request to your function
from starlette.requests import Request
from fastapi_easy_cache import cache
@app.get('/testCacheWithArg/{path}')
@cache(expire=20)
def testArg(path, arg1, arg2, request: Request):
data = {'path': path,
'arg1': arg1,
'arg2': arg2}
return data
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for fastapi_easy_cache-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53a8297fe35a43e2ead0550e17161b1274ec2fb510dc226f00b5a408f0cb2650 |
|
MD5 | 0f779e037c83743b0aa83e3b187ec3c2 |
|
BLAKE2b-256 | f72ef861e0730b747b0f7f528713532038ae982cb89d5d5e45def71be8325cfe |