https://github.com/eieste/methodcache
MethodCache can be used to cache the result of an method in a flexible way.
https://github.com/eieste/methodcache
Last synced: 8 months ago
JSON representation
MethodCache can be used to cache the result of an method in a flexible way.
- Host: GitHub
- URL: https://github.com/eieste/methodcache
- Owner: eieste
- Created: 2019-01-04T13:37:07.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-02-27T10:55:31.000Z (over 7 years ago)
- Last Synced: 2025-09-17T04:44:09.218Z (9 months ago)
- Language: Python
- Homepage:
- Size: 26.4 KB
- Stars: 0
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Python Method Cache
[](https://travis-ci.org/eieste/MethodCache)
[](https://badge.fury.io/py/method-cache)
[](https://methodcache.readthedocs.io/en/latest/?badge=latest)
## What it does
MethodCache can be used to cache the result of an method in a flexible way.
This libary has no dependencies!
**Currently only TTL Cache available**
The cache storage can be segmented in categories.
Methods with the ``@cache`` decorator are saved in these categories.
## Example
```python
from methodcache import cache, Store
import time
# TTL in Seconds (Default TTl is 60)
st = Store(ttl=60*300)
# Define Store for this Cache, and overwrite Store TTL. And categorize this cache object to demo
@cache(store=st, ttl=5, category="demo")
def doothings(a,b,c):
# Do here what ever you want.
# eg. MySQL querys or other slow operations
time.sleep(2)
return a+b+c
# Slow Execution
doothings(1,2,3)
# Slow Execution
doothings(4,5,6)
# Fast Execution because the Cache was used
doothings(1,2,3)
time.sleep(2)
# Slow Execution because the Cache TTL is Expired
doothings(1,2,3)
```
## Documentation
[Read the Docs](https://methodcache.readthedocs.io/en/latest/)
or
show ``example.py``