美文网首页
django 对接 ssl redis , 以及redis集群模

django 对接 ssl redis , 以及redis集群模

作者: clever哲思 | 来源:发表于2020-05-27 11:55 被阅读0次

    如有问题, 请留言交流

    django CACHE使用 ssl redis

    使用的时候将rediss://:yourpassword@yourhost:yourport/yourdb替换成你自己的redis地址
    原理是 CONNECTION_POOL_KWARGS参数的 ssl_cert_reqs字段设置为None

    CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "rediss://:yourpassword@yourhost:yourport/yourdb",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
                "IGNORE_EXCEPTIONS": True,
                "CONNECTION_POOL_KWARGS": {"ssl_cert_reqs": None},
            },
        }
    }
    

    直接获取一个ssl redis客户端

    使用的时候将rediss://:yourpassword@yourhost:yourport/yourdb替换成你自己的redis地址
    然后可以直接操作获取的client

    import redis
    from rediscluster import RedisCluster
    
    pool = redis.ConnectionPool.from_url("rediss://:yourpassword@yourhost:yourport/yourdb", ssl_cert_reqs=None)
    client = redis.Redis(connection_pool=pool)
    

    django 对接redis 集群模式

    1. 安装第三方包

    pip install hypersRedisCluster

    1. 使用
      将 settings的 CACHE配置成下: LOCATION 字段是 集群的节点, 至少配置一个
      原理:"hypersRedisCluster.client.RedisClusterClient是一个实现了redis 集群模式的类
    CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": [{"host": "127.0.0.1", "port": "7000"}],
            "OPTIONS": {
                "CLIENT_CLASS": "hypersRedisCluster.client.RedisClusterClient",
                "IGNORE_EXCEPTIONS": True,
            },
        }
    }
    

    相关文章

      网友评论

          本文标题:django 对接 ssl redis , 以及redis集群模

          本文链接:https://www.haomeiwen.com/subject/vscwahtx.html