估计:非常简单,动态缓存。
reckon的Python项目详细描述
估计:非常简单,动态记忆
安装
为了安装最新版本,只需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
属性。
文档
即将提供完整的文档!
如何贡献
- 检查打开的问题或打开新问题以启动 围绕功能想法或缺陷的讨论。
- 在github上为您的问题或fork创建分支 the repository 在github上开始更改master 分支
- 编写一个测试,显示错误已修复或 该功能按预期工作。
- 发送一个pull请求并在维护程序中设置bug,直到它得到 合并并发布。:)