Redis memoize cache
Project description
rcache.py
What is it
rcache.py is a cache and works on redis so it is suitable for multi threaded and multi process applications.
It has been inspired and based on cache.py
library https://github.com/bwasti/cache.py
Usage
To use the file, import rcache
and annotate functions with @rcache.rcache()
.
import rcache
@rcache.rcache()
def expensive_func(arg, kwarg=None):
# Expensive stuff here
return arg
The @rcache.rcache()
function can take multiple arguments.
@rcache.rcache(timeout=20)
- Only caches the function for 20 seconds.@rcache.rcache(url="http://other_redis:6379")
- Saves cache to specified Redis url (defaults tohttp://localhost:6379
)@rcache.rcache(key=rcache.ARGS[KWARGS,NONE])
- Check against args, kwargs or neither of them when doing a cache lookup.
How it works
rcache.py
queries redis
and checks against the name, arguments and hash of a function's source
to decide if the function has been run before. If it has it returns the cached result immediately.
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
rcache-1.0.0.tar.gz
(3.2 kB
view hashes)
Built Distribution
rcache-1.0.0-py3-none-any.whl
(6.1 kB
view hashes)