Nginx下带有wsgi(uwsgi)的python是否有一些小的默认缓存?

时间:2019-05-06 14:09:42

标签: python nginx flask uwsgi

在我的小型网站上,我觉得需要广泛提供一些数据,以避免针对每个请求与数据库进行交换。例如。这可能是显示在每个页面底部的当前用户列表,或者是最近一次更新排名的时间。

这些东西可以在运行在nginx + uwsgi(this docker映像)上的Python(Flask)中工作。

我想知道,我是否有一些小的高速缓存或共享内存来使这些信息“开箱即用”,还是需要明确设置一些专用的高速缓存?还是nginx提供了类似的东西?

或者我仍然可以使用数据库,因为我认为它具有自己的缓存

很抱歉,问题似乎是幼稚的/愚蠢的-因为我来自Java世界(在Java应用程序的一个胖实例中处理所有请求时情况有所不同)-难以理解wsgi / uwsgi的作用是什么提供。预先感谢!

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您是否查看过Flask文档中的caching section

字面意思是:

  

Flask本身不为您提供缓存,但是它所基于的库之一Werkzeug具有一些非常基本的缓存支持

     

您只需创建一个缓存对象并将其保留,类似于创建Flask对象的方式。如果您使用的是开发服务器,则可以创建一个SimpleCache对象,该对象是一个简单的缓存,它将项目存储在Python解释器的内存中:

from werkzeug.contrib.cache import SimpleCache
cache = SimpleCache()

-更新-

或者您也可以解决在前端将数据存储在Web浏览器本地存储中的问题。

如果本地存储中没有任何内容,您可以调用数据库,否则您将使用本地存储中的信息,而不是进行数据库调用。

希望有帮助。