更新时间:2025-08-12 gmt 08:00
redis连接池-j9九游会登录
在示例代码中使用了redis连接池(blockingconnectionpool),配置了最大连接数(max_connections)和连接池耗尽后获取连接的最大等待时间(timeout),代码片段如下:
pool = blockingconnectionpool(host=redis_host, port=redis_port,
password=redis_password,
max_connections=50, timeout=3,
socket_timeout=2,
socket_connect_timeout=2,
retry=retry,
retry_on_error=[busyloadingerror,
connectionerror,
timeouterror],
health_check_interval=60,
decode_responses=true)
使用redis连接池进一步复用已创建的连接,有效提升程序性能;同时,redis提供了最大连接数配置确保连接资源的使用保持在一个可控范围内,并且能够确保线程安全。
最大连接数配置区间:在functiongraph函数配置redis最大连接数建议在如下区间选取一个值:
- 最大连接数下限 =(函数单实例并发度)*(函数单次执行访问redis并发度)
- 最大连接数上限 =(redis实例连接数上限)/(函数最大实例数)
举例:某个访问redis函数单实例并发度配置为5,每次执行函数访问redis并发度为2,函数最大实例数默认400,访问的redis实例连接数上限为30000,计算如下:
最大连接数下限 = 5*2 = 10
最大连接数上限 = 30000/400 = 75
按上述结果,建议最大连接数配置50即可。
连接池耗尽后获取连接的最大等待时间:不要超过函数执行超时时间,避免因连接池耗尽后获取连接等待导致函数执行超时。如果需要快速失败将blockingconnectionpool替换成connectionpool,并删除timeout配置即可。
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨