gpt4 book ai didi

python - 每个 Flask 请求都应该连接到 Redis 集群吗?

转载 作者:可可西里 更新时间:2023-11-01 11:13:11 24 4
gpt4 key购买 nike

我有一个 Flask API,它连接到 Redis 集群以进行缓存。我应该在每个 flask api 调用上创建和拆除 Redis 连接吗?或者,我应该尝试跨请求保持连接吗?

我反对第二种选择的论点是,我真的应该尽可能地尝试让 api 保持无状态,而且我也不知道保持一些跨请求的持久性是否会导致线程竞争条件或其他副作用。

但是,如果我想保持一个连接,它应该保存在 session 中还是应用程序上下文中?

最佳答案

这是关于性能和规模的。要让这 2 个流行语流行起来,您实际上需要持久连接。

最终的竞争条件与每次请求都重新连接没有什么不同,所以这应该不是问题。任何 RC 都将取决于您如何使用 Redis,但如果它只是缓存,则没有太多出错的余地。

我从客户端 POV 理解 API 所需的无状态性,但不太确定您对服务器端的意思。

我建议您将它们放在应用程序上下文中,而不是 session ( session 可能会变得太多),而应用程序上下文为您提供最佳的每个进程 1 个连接(并在启动时立即创建)。以这种方式扩展变得简单易行:您永远不必担心达到 redis 盒上的最大连接数(多路复用越少越好)。

关于python - 每个 Flask 请求都应该连接到 Redis 集群吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39464748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com