No project description provided
Project description
Fastapi easy cache
An easy to use tool for caching fastapi returnings using sqlite as backend
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
- sotore cache in filesystem
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
File details
Details for the file fastapi_easy_cache-1.0.2.tar.gz
.
File metadata
- Download URL: fastapi_easy_cache-1.0.2.tar.gz
- Upload date:
- Size: 2.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.6 Darwin/21.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77a28eba4a4e849fdd5640b305c09827106993e5c329d4a1a1725d1837690262 |
|
MD5 | d212e25002185859dbcb8801b4e0847f |
|
BLAKE2b-256 | d8a1f031b66c98753d97a668bfb9ec9286e89cf66c20e9944678896facbc251a |
File details
Details for the file fastapi_easy_cache-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: fastapi_easy_cache-1.0.2-py3-none-any.whl
- Upload date:
- Size: 3.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.6 Darwin/21.6.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9238db84dcfe58b0f8c24fc5ee8fa023e4b4f7cccf1059aedd49a87c7386ab40 |
|
MD5 | 57fd162017336b8b990df962582a2c2a |
|
BLAKE2b-256 | d23d8b54fe0c69b1b4be77ff1bba8acdf2805e93e394505b3894c3c72483c581 |