V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
turtlekey
V2EX  ›  Flask

请教大佬们一个关于 flask 的缓存问题?

  •  
  •   turtlekey · 307 天前 · 1819 次点击
    这是一个创建于 307 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题复现

    我有一个视图函数,它理应在后台获取当日的数据(每天的数据不一样),然后渲染到前端,但访问得到的数据却是上一次访问得到的数据(即它不会自动更新视图),如果我提前在视图渲染函数前 return 一个任意字符串,刷新请求,然后恢复代码,它又成功地更新视图了。

    我的猜测

    代码逻辑应该没有问题,问题大概率是关于缓存的,不知 flask 是否有自动缓存机制,请大佬解惑。先行感谢🙏。

    8 条回复    2024-02-28 09:16:16 +08:00
    nagisaushio
        1
    nagisaushio  
       307 天前 via Android
    可以在浏览器看一下请求头?
    rationa1cuzz
        2
    rationa1cuzz  
       307 天前
    印象中倒是没有,浏览器倒是有缓存,看一下后台日志确认后端是否收到请求,排除前端的问题再从后端打印几个 log 就知道了
    22too
        3
    22too  
       307 天前
    如果没设置应该是没有的,你这个感觉是其他缓存比如 nginx 的问题。 不确定你是单独一个 python flask 去浏览器直接看了,还是添加了其他的组件。
    turtlekey
        4
    turtlekey  
    OP
       307 天前
    @nagisaushio get 请求,而且视图函数没有参数,因为有一个函数封装了每日数据获取,视图函数中调用它即可。
    turtlekey
        5
    turtlekey  
    OP
       307 天前
    @rationa1cuzz 浏览器 Hard Reload 之后依然无法获得最新数据,前端肯定没问题。刚刚在视图函数中添加一个 print 语句,然后再请求,数据更新了,真是奇怪,似乎只要在视图函数中随便加一条语句,就能更新视图。是否是 flask 热更新问题?
    turtlekey
        6
    turtlekey  
    OP
       307 天前
    @22too 没有其他组件,单纯 flask ,而且没有使用 nginx ,使用的是 flask 自带的服务器。
    summerwar
        7
    summerwar  
       307 天前
    先放上你写的那部分代码,去掉敏感的,然后才能看出来有没有问题
    Bt4Girls
        8
    Bt4Girls  
       306 天前
    盲猜一下,会不会本身代码里面查询有时区问题?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2428 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 15:51 · PVG 23:51 · LAX 07:51 · JFK 10:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.