多语言类型 | 问题及建议 | 代码示例 |
golang go-redis 连接池 | 连接池库,建议连接用完放入队尾,而获取连接从队头拿取,避免总是获取热连接。 | 队列连接方式相关代码,如下所示:
更多信息,请参见 go-redis 连接池官网示例。v8.11.5版本及之后的版本已经修复队列的连接方式,请确认版本及代码逻辑,避免使用热连接方式。 |
golang redigo 连接池配置 | redigo 官网提供的连接池只支持从队头拿连接,从队头放回已用连接。导致最热连接一直被使用,不轮询每一个连接,无法实现负载均衡,导致 Proxy 连接或是负载总是不均衡的现象。需修改源代码中的pool.go 文件,增加 pushBack 方法和 Lifo 成员变量。 | 代码示例,如下所示:
更多信息,请参见 Redigo 连接池使用建议。 |
java_jedis_pool | 设置连接池连接队列方式。 false:后进后出即从队头拿连接,从队尾放连接。推荐使用该方式。 true:后进先出即从队头拿连接,从头放连接,永远为最热连接,默认为该方式。 指定连接池定期检查时间,避免连接可能会被长时间占用而不释放。建议配置为3000ms,表示每3秒检测一次。
time-between-eviction-runs: 3000ms | 关键代码示例,请参见 Jedis 连接池代码示例。 完整代码示例,请参见 spring-boot-jedis-demo。 |
java_lettuce_pool | 设置连接池队列方式与java_jedis_pool 一致。 请关闭连接复用,避免出现 PipeLine。 |
|
spring_boot_redisson 连接池 | 请将连接池最大连接数、最大空间连接数、最小空闲连接数,三个参数配置为相同的值。 | 队列连接方式相关代码,如下所示:
|
本页内容是否解决了您的问题?