You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Flask应用配置Redis Sentinel并适配SSL及Flask-Caching参数

Flask-Caching Redis Sentinel 配置指导

配置项含义说明

你提到的几个配置项用途如下:

  • CACHE_KEY_PREFIX:所有缓存key的统一前缀,作用是避免同个Redis实例下多个应用的缓存key冲突,直接沿用你原来配置的someprefix即可。
  • CACHE_REDIS_SENTINELS:值为列表类型,每个元素是哨兵节点的(主机地址, 端口)元组,按你实际部署的哨兵节点信息填写。
  • CACHE_REDIS_SENTINEL_MASTER:Redis哨兵集群中提前定义的主节点名称,是你搭建哨兵集群时自行配置的,默认通常为mymaster。
  • CACHE_REDIS_PASSWORD:Redis主从节点的访问密码,和你原来配置的mypass一致即可。
  • CACHE_REDIS_DB:使用的Redis库编号,你原来使用的是0,直接填0即可。

带SSL的完整配置示例

首先确认你的redis-py依赖版本≥2.9,原生支持哨兵连接,不需要额外安装其他依赖。配置如下:

# 按你实际的哨兵节点信息修改
SENTINEL_NODES = [
    ('sentinel1地址', 26379),
    ('sentinel2地址', 26379),
    ('sentinel3地址', 26379)
]

CACHE_CONFIG = {
    'CACHE_TYPE': 'RedisSentinel', # 缓存类型改为RedisSentinel,不要用原来的redis
    'CACHE_DEFAULT_TIMEOUT': 60 * 60 * 24,
    'CACHE_KEY_PREFIX': 'someprefix',
    'CACHE_REDIS_SENTINELS': SENTINEL_NODES,
    'CACHE_REDIS_SENTINEL_MASTER': 'mymaster', # 替换为你自己的哨兵主节点名称
    'CACHE_REDIS_PASSWORD': 'mypass',
    'CACHE_REDIS_DB': 0,
    # SSL及其他额外连接参数全部放在CACHE_REDIS_OPTIONS中
    'CACHE_REDIS_OPTIONS': {
        'username': '', # 你原来的用户名配置为空,不需要可以删掉这行
        'ssl': True,
        'ssl_cert_reqs': 'required',
        'ssl_ca_certs': 'redis_certs/ca.crt',
        'ssl_certfile': 'redis_certs/client.crt',
        'ssl_keyfile': 'redis_certs/client.key',
        # 如果哨兵节点本身也开启了SSL访问,取消注释下面的配置,按实际参数修改
        # 'sentinel_kwargs': {
        #     'ssl': True,
        #     'ssl_cert_reqs': 'required',
        #     'ssl_ca_certs': 'redis_certs/ca.crt',
        #     'ssl_certfile': 'redis_certs/client.crt',
        #     'ssl_keyfile': 'redis_certs/client.key'
        # }
    }
}

注意不要像原有配置那样提前实例化StrictRedis对象传入缓存配置,Flask-Caching的哨兵模式会自动根据配置创建连接。如果需要调整连接超时、重试次数等参数,也可以统一放在CACHE_REDIS_OPTIONS中。

内容的提问来源于stack exchange,提问作者user17238351

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 12:54:08