Here's an example of how you might use wrapcache: import wrapcache
from time import sleep
import random
@wrapcache.wrapcache(timeout = 3)
def need_cache_function(input, t = 2, o = 3):
sleep(2)
return random.randint(1, 100)
if __name__ == "__main__":
for i in range(10):
sleep(1)
print(need_cache_function(1, t = 2, o = 3))
#get cache Programmatic
key_func = wrapcache.keyof(need_cache_function, 1, o = 3, t = 2)
print(wrapcache.get(key_func))
#remove cache Programmatic
print(wrapcache.remove(wrapcache.keyof(need_cache_function, 1, o = 3, t = 2)))
How to Install and Use?
Install
Three way to install:
1. Use tool install
easy_install wrapcacheor
pip install wrapcache / pip3 install wrapcache2. Download to install
Download from https://pypi.python.org/pypi/wrapcache/ , and run python setup.py install .3. Manual installation
Manual installation: Put wrapcache folder into current directory or site-packages , then import wrapcache to use.Usage
Decorators import wrapcache
@wrapcache.wrapcache(timeout = 3)
def need_cache_function():
return 'hello wrapcache'
API
wrapcache.keyof(func, *args, **kws): get the key of function output cache.
wrapcache.get(key, adapter = MemoryAdapter): get the value of cache.wrapcache.set(key, value, adapter = MemoryAdapter): set cache use code.wrapcache.remove(key, adapter = MemoryAdapter): remove a cache.wrapcache.flush(adapter = MemoryAdapter): clear all the cache.The API 2~5, need to input a adapter to set which db to flush.TODO
add redis and memcache supported.
package to pip server.