gpt4 book ai didi

asynchronous - 同步 redis 调用是否会使 Tornado 应用程序变慢?

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

我正在尝试将缓存添加到 Tornado 应用程序,数据在 Mongo 中。我将 Redis 用作共享缓存存储。

由于 tornado 是一个异步框架,我正在考虑为 Redis 使用一个异步客户端,它使用 tornado 的 ioloop 从 Redis 服务器获取数据。现有的解决方案都不是很成熟,听说这些客户端的吞吐量也不好。

所以我的问题是,如果我使用像 pyredis 这样的同步 Redis 客户端,它会对我的应用程序的性能产生负面影响吗?

我的意思是,考虑到 Redis 实例位于同一个 LAN 中,redis 命令的延迟非常小,是否阻塞有关系吗?

最佳答案

如果不在您的环境中并排对这两种方法进行基准测试,很难肯定地说,但是快速网络上的 Redis 可能足够快,以至于同步驱动程序在正常情况下获胜(或者可能不是。我不是个人熟悉不同redis驱动的性能)。

异步驱动的最大优点是它可以更优雅地处理redis服务器或网络的中断。当 redis 出现问题时,它可以做其他不依赖于 redis 的事情。当然,如果您的整个站点都依赖于 Redis,那么在这种情况下您可能无能为力。这就是 FriendFeed 的理念。当我们最初编写 Tornado 时,我们使用同步内存缓存和 mysql 驱动程序,因为这些服务在我们的控制之下,我们可以指望它们很快,但我们对外部 API 使用异步 HTTP 客户端,因为它们的可预测性较差。

关于asynchronous - 同步 redis 调用是否会使 Tornado 应用程序变慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37638536/

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