Flask-Caching未连接到处于禁用群集模式的Redis群集(aws托管)

jmp7cifd  于 2022-12-11  发布在  Redis
关注(0)|答案(1)|浏览(152)

我正在使用flak-caching库在我的flask应用程序中使用缓存。https://flask-caching.readthedocs.io/en/latest/#redisclustercache
在本地尝试在启用了群集模式的群集上进行连接时,连接正常,但应用程序会出现以下问题:

当我尝试将其连接到一个处于弹性缓存(禁用集群模式)的托管集群时-我使用的是--tls auth。
以下是配置的外观:

cache.init_app(
        app,
        config={
            "CACHE_TYPE": "RedisClusterCache",
            "CACHE_REDIS_PASSWORD": config.REDIS_PASSWORD,
            "CACHE_REDIS_CLUSTER": "host:port", # aws-hosted cluster
            "CACHE_REDIS_DB": 0, # use the db=0
            "BUILD_TlS": "yes",
            "CACHE_OPTIONS": { # Even tried passing the password as extra option
                "-a":config.REDIS_PASSWORD,
            }
        },
    )
plicqrtu

plicqrtu1#

对于禁用的群集模式,您需要将CACHE_TYPE设置为RedisCache,而不是RedisClusterCache
当您设置RedisClusterCache时,客户端会尝试搜索集群中的节点,但由于CLUSTER NODEScommand不可用,搜索失败。您应该会看到类似于Cluster mode is not enabled on this node的错误。

相关问题