全局或实例级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第三方库


热门话题
javaspringbootmockito@injectmock说明如何仅模拟选定的依赖项   尝试在eclipse项目中加载dll时发生java UnsatifiedLinkError   java在文本文件上多次匹配模式?   java如何使用JSON显示天气数据?   java导出内部对象   java获取以链表中特定字符开头的所有元素   swing使主方法等待较小的方法(java)   java如何制作对象的深度副本?   java访问SpringMVC项目中的外部ELEAF文件   java打印没有元素邻接的所有子序列数组   java为什么findLoadedClass方法调用返回不同的结果   java如何在安卓中从sqlite数据库获取单个数据?   java我正在编写一个程序,为twitch流媒体应用程序的eq生成随机竞赛/类   java如何绕过SSL握手javax。网ssl。SSLHandshakeException   java关于LibGdx addListener   线程中的java安卓socket连接