redis-py 默认有连接池吗?
redis-py 在和后端框架做集成的时候,我好奇 redis-py 和 redis server 之间的连接管理机制
比如, 假设后端框架是多线程模型,每来一个 http 请求,都会新开一个线程去处理改 HTTP 请求,视图函数内,要访问 redis server 根据 key 取 value 并且返回给 http client
假设 redis_client 作为全局变量
redis_client = redis.StrictRedis(host='localhost', port=6379, db=0)
视图函数里面调用 redis_client
value = redis_client.get('my_key')
那么此时此刻,redis-py 会为每个线程都创建一个独立隔离的 TCP 连接并且在线程结束之后就销毁 redis 连接吗?
还是说 redis-py 内部维护了一套复用和 redis server 通讯的 redis 连接?
回答:
看源码解决了
https://github.com/redis/redis-py/blob/master/redis/client.py
if not connection_pool: ....
connection_pool = ConnectionPool(**kwargs)
...
以上是 redis-py 默认有连接池吗? 的全部内容, 来源链接: utcz.com/p/939019.html