从云运行服务,我成功地创建了一个连接到谷歌云Redis:
redis_webhooks = redis.StrictRedis(
host=redis_webhooks_host,
port=redis_webhooks_port,
password=redis_webhooks_authstring,
ssl=True,
db=1,
ssl_cert_reqs="required",
ssl_ca_certs=f"/tmp/{redis_webhooks_server_ca_pem_name}",
)
我现在尝试示例化一个连接池,为了更好的性能,我尝试遵循文档和官方谷歌指南和Redis指南,但没有参考如何使用身份验证来实现这一点
我降落在这,但它不工作,有意想不到的关键字“SSL”,然后“SSL_CERT_REQS”等。
pool = redis.ConnectionPool(
host=redis_webhooks_host,
port=redis_webhooks_port,
password=redis_webhooks_authstring,
ssl=True,
db=1,
ssl_cert_reqs="required",
ssl_ca_certs=f"/tmp/{redis_webhooks_server_ca_pem_name}",
)
redis_webhooks_client = redis.StrictRedis(connection_pool=pool)
我还尝试了拆分连接和身份验证,如下所示:
pool = redis.ConnectionPool(
host=redis_webhooks_host,
port=redis_webhooks_port,
password=redis_webhooks_authstring,
db=1,
max_connections=100,
socket_timeout=5,
retry_on_timeout=True
)
redis_webhooks_client = redis.StrictRedis(
connection_pool=pool,
ssl=True,
ssl_cert_reqs="required",
ssl_ca_certs=f"/tmp/{redis_webhooks_server_ca_pem_name}"
)
但在这里,我得到了对等端重置的连接。
任何帮助将不胜感激,谷歌只提供简单的例子。谢谢你,谢谢
2条答案
按热度按时间xzlaal3s1#
在后台,redis-py使用连接池来管理到Redis服务器的连接。默认情况下,您创建的每个Redis示例都会创建自己的连接池。你可以覆盖这个行为,并通过传递一个已经创建的连接池示例到Redis类的connection_pool参数来使用现有的连接池。您可以选择这样做,以实现客户端分片或更精细地控制连接的管理方式。
pool = redis.ConnectionPool(host='localhost',port=6379,db=0)r = redis.Redis(connection_pool=pool)
vof42yt12#
From:Enabling Secure Connections to Redis Enterprise Cloud in Python
我尝试了他们的例子,没有得到你提到的错误。他们的ssl设置比你多。
403被禁止了因为我没有账户安装Redis v5.0.1