Redis是线程安全的,所以为什么要在redis-py中使用'BlockingConnectionPool'



我使用 Django cache。我知道 Redis 是安全的。

如果需要BlockingConnectionPool,当我配置CACHE.

BlockingConnectionPool做什么?

当我需要使用BlockingConnectionPool时?

根据官方文档BlockingConnectionPool中的"阻塞"不是对线程安全的引用,而是对这样一个事实,即如果没有可用的连接,此实现将等待(阻塞(指定的秒数(timeout参数(,直到一个可用。

# Raises ConnectionError if connection is not available within before 10s timeout
pool = BlockingConnectionPool(timeout=10)

指定timeout=None将无限期阻止。

BlockingConnectionPool是 Redis 中的一个类。尽管 Rdis 是线程安全的BlockingConnectionPool但增加了重用性。 它执行与默认相同的功能:py:class: ~redis.connection.ConnectionPool实现,因为它维护一个可重用的连接池,可以由多个 redis 客户端共享(如果需要,可以安全地跨线程(。

有关更多说明,请访问此链接: https://kite.com/python/docs/redis.BlockingConnectionPool

相关内容

  • 没有找到相关文章

最新更新