[首发]元旦撸一个 Python 装饰器的缓存库——wrapcache

2016-01-04 13:34:29 +08:00
 50vip

元旦两天搞的,还通宵了一天。

github 地址:https://github.com/hustcc/wrapcache

使用简单,只需要要在方法上面加一个装饰器即可缓存,并且设置缓存过期时间。

import wrapcache
@wrapcache.wrapcache(timeout = 60)
def need_cache_function(input, t = 2, o = 3):
    sleep(2)
    return random.randint(1, 100)

以上即可,第一次运行需要 2 秒,第二次运行(过期时间 60 秒之内)瞬间给出缓存结果。适合于小场景的方法缓存。

安装方法:

pip install wrapcache

即可,当然你也可以直接下载 github 代码,然后放到自己项目中即可。

支持 python2 , python3 各版本。

TODO

目前是使用内存 dict 存储缓存,后续要支持将 redis 和 memcached 等服务器中,只需要补充 adapter 中代码,实现对应方法即可

欢迎 push requst 和 issue 。

2722 次点击
所在节点    Python
4 条回复
siteshen
2016-01-05 00:57:43 +08:00
各种轮子。。要是 gist 倒有些兴趣用。。
50vip
2016-01-05 10:46:16 +08:00
@siteshen gist 和 repo 有什么区别了? repo 需要很大?
50vip
2016-01-05 10:46:53 +08:00
@siteshen repo 也是开源的代码,直接也可以看啊~~~只有 gist 能看?
50vip
2016-01-05 10:53:05 +08:00
@siteshen http://microjs.com/# 这里全是小轮子~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/248168

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX