估计:非常简单,动态缓存。

reckon的Python项目详细描述


估计:非常简单,动态记忆

imageimageimageimageimagecodecovCode style: black

安装

为了安装最新版本,只需pip3 install -U reckon

此库需要Python3.6或更高版本。

这是什么?

reckon通过自动 监视计算机的内存使用情况并清除 接近预定义比率时的条目(默认为 90%。

reckon很大程度上受到global_lru_cache的启发。 包,所以初始的 实施。这个包裹把这些想法带进了Python3 并添加本地缓存实现。

用法

用法很简单:

importreckon@reckon.memoizedefsome_expensive_func(foo:int,bar:int):returnfoo**bar

reckon将自动使用全局缓存。

当全局缓存被自动维护时,它可能 必须手动管理缓存。为此目的, 计算提供以下全局方法:

  • reckon.glob.clear:清除全局缓存。
  • reckon.glob.shrink:收缩全局缓存。
  • reckon.glob.usage:检查当前使用率。
  • reckon.glob.set_usage:设置最大内存使用率 对于全局缓存。
  • reckon.glob.info:查看有关 缓存-类似于functools.lru_cache.cache_info

如果只想维护函数的本地缓存,则 可以简单地将标志传递给装饰器:

importreckon@reckon.memoize(locale="local")defsome_expensive_func(foo:int,bar:int):returnfoo**bar

另外,如果希望维护本地缓存 模块,您可以初始化自己的 LocalCache对象:

importreckoncache=reckon.local()@cache.memoizedefsome_expensive_func(foo:int,bar:int):returnfoo**bar

本地缓存实例维护相同的高级api 作为全局缓存进行管理:

  • LocalCache.clear:清除本地缓存。
  • LocalCache.shrink:收缩本地缓存。
  • LocalCache.usage:检查当前使用率。
  • LocalCache.set_usage:设置 本地缓存。
  • LocalCache.info:查看有关 缓存-类似于functools.lru_cache.cache_info

所有的记忆功能都会在缓存中进行自省 通过cache属性。

文档

即将提供完整的文档!

如何贡献

  1. 检查打开的问题或打开新问题以启动 围绕功能想法或缺陷的讨论。
  2. 在github上为您的问题或fork创建分支 the repository 在github上开始更改master 分支
  3. 编写一个测试,显示错误已修复或 该功能按预期工作。
  4. 发送一个pull请求并在维护程序中设置bug,直到它得到 合并并发布。:)

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

推荐PyPI第三方库


热门话题
如何使用java向dropup html/css添加项目   如何从java中的向量向量打印   Java Maven库项目模板   java使用atmosphere api还是直接使用grizzly?   java JComponent仅部分显示   如何将动态值传递给自定义注释,以从Java数据进行映射。性质   java破解已实现方法的返回类型的最佳方法?   java Netbeans在JFrame Gui布局中覆盖图像   spring java仅向登录用户显示注销按钮   java如何对com进行身份验证。谷歌。云bigquery。带有服务帐户的BigQuery`   java禁止空字符串参数和抛出RuntimeException以阻止方法继续的利弊   java分析项目中的所有JAR以获取版本和许可证信息   Java,数据库为什么要分配一个新对象,而我们可以直接将它放入数据库