全局或实例级memoize的缓存装饰器。

cachez的Python项目详细描述


https://travis-ci.org/jealous/cachez.svghttps://coveralls.io/repos/jealous/cachez/badge.svghttps://img.shields.io/pypi/v/cachez.svg

版本: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

联系作者:

贡献者:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Android上的可访问文件夹中创建文件?(非根)   tomcat Unix脚本未使用Process Runtime在Java中运行   模拟器中的java Android AudioTrack速度异常   java是否创建具有特定@ConditionalOnProperty的注释?   java如何使用json数据从gridview中的URL加载图像?(类别和子类别)   ConcurrentHashMap的java锁定值对象   如何在具有额外属性的Java枚举上执行Javadoc?   java如何修复SocketException连接重置问题?   无附加表的java JPA实体继承   java Android应用程序在启动屏幕后崩溃   java如何将Arraylist保存到文件?   java restTemplate从restfull Web服务获取文件数组   java活动带布局隐藏导航栏   socket未接收任何内容的java BufferedReader