有什么办法可以配置一个python模块作为启动的一部分被调用,当NGINX服务器启动时。
python模块的作用是查询数据库并将其缓存在内存数据库中,如redis。它还必须每隔5分钟定期刷新一次缓存。
我使用NGINX作为反向代理服务器,使用uWSGI作为应用服务器。缓存的想法是将应用程序服务器响应时间从毫秒减少到毫秒
答案 0 :(得分:1)
最初你的问题听起来像是一个nginx缓存代理......
https://www.nginx.com/resources/wiki/start/topics/examples/reverseproxycachingexample/
像Redis一样预加载应用程序缓存是一个不同的问题。缓存中的内容和格式很难概括,即你可能想要缓存html片段,我可能想要从API缓存JSON数据,其他人可能想要从数据库中缓存查询。
就个人而言,如果您正在处理请求,而您的应用程序使用缓存,则使用该应用程序预加载缓存。我用过Squid的一个具体例子,但这也适用于nginx。
这会将最近使用的项目加载到缓存中。我也使用了以下方法,即从数据库获取id然后点击app ...(原谅我的python)
import grequests
base_url = "http://localhost:70/?id="
big_list = ['1', '2', '3', '4', '5']
for i in range(len(big_list)):
big_list[i] = base_url + big_list[i]
rs = (grequests.get(u) for u in big_list)
grequests.map(rs)
这循环遍历id列表并点击URL。该应用程序然后缓存它所需的一切。
您可以使用上述任意组合,即我只需要加载所需的内容,以避免缓存很少请求的垃圾。
旧答案如下......
你的问题读得不是很好,但是每当我听到nginx并缓存它时,通常都是关于如何配置它来缓存页面。这里有更多细节......
https://serversforhackers.com/nginx-caching/
在这里查看带有超时的nginx缓存,即查找
http://nginx.org/en/docs/http/ngx_http_proxy_module.html
在该页面上查找 proxy_cache_valid 。