关于limiter

来源:12-25 向他人赠送书籍

weixin_慕慕8136048

2020-11-18

你好老师,我复制了你关于limit的源码,因为werkzeug在1.0.0之后移除了cache,我将from werkzeug.contrib.cache import SimpleCache删掉,改成了在app的__init__.py 中添加from app import cache as _cache,并且用
cache = Cache(config={‘CACHE_TYPE’: ‘simple’})
cache.init_app(app)
set up了cache。之后为了避免循环导入,就把limiter = Limiter()直接放在了web.wish.py的开头,就是所有视图函数的前面。其他逻辑没有任何变化。
我进行了断点调试之后发现一个非常诡异的问题

图片描述

可以看到图中, cache中明明存有同名的键值对,却get不到值,我在网上也查不到相关的资料,核对了flask cache的官方文档,也没有发现任何代码问题,也没有报错,请问老师这个问题应该如何解决呢?

写回答

1回答

7七月

2020-11-18

这个问题不应该这样讨论,你起码应该首先断点调试下。分析的稍微具体一些,我这里也没有你的代码,不可能直接就这么猜出问题来。如果没有了cache,可以替换其他的缓存甚至可以单独安装缓存。

0
2
慕函数9413275
我看了下werkzeug文档,你可以安装pipenv install cachelib 。然后导入cachelib.simple.SimpleCache即可
2020-12-01
共2条回复

Python Flask高级编程之从0到1开发《鱼书》精品项目

7月老师深入浅出剖析Flask核心机制,和你一起探讨Python高级编程

2735 学习 · 1267 问题

查看课程