全局或实例级memoize的缓存装饰器。
cachez的Python项目详细描述
版本:0.1.2
简介
帮助缓存/记忆函数/方法结果的函数装饰器。
此包包含以下装饰程序。
- 缓存:全局缓存函数的结果。
- 实例缓存:缓存实例中方法的结果(self)
- 清除实例缓存:清除实例上缓存的方法结果。
还有一个功能。
- 清除缓存:清除全局函数缓存。
在Python2.7和Python3.4上测试。
要快速入门,请查看本页的教程部分。 查看cachez_test.py以获取详细示例。
安装
pip install cachez
教程
- 若要全局缓存函数的结果,请修饰该函数 使用cache。
@cachedeffoo(x,y):...
- 要清除全局缓存,请调用clear_cache()。
clear_cache()
- 要在实例中缓存方法的结果,请修饰该方法 使用instance_cache。 要清除实例上的方法缓存,请修饰clear方法 使用clear_instance_cache。
classFoo(object):@instance_cachedefbar(a,b):...@clear_instance_cachedefclear():...
- 要持久化函数返回值,请使用persisteddecorator。 这个decorator接受输入参数,该参数指定 将过期。缓存过期的默认值设置为1天。
classFoo(object):@persisted()defdefault_persist_for_1_day(x):...@persisted(seconds=5)defpersist_return_value_for_5_seconds(y):...
- 默认的persist文件夹设置为~/.cachez。你可以自定义 通过调用set_persist_folder。
若要提交问题,请访问:
https://github.com/jealous/cachez
联系作者:
- 塞德里克•庄<;jealous@163.com>;
贡献者:
- 梁瑞安menglei.leung@gmail.com>;