如有问题, 请留言交流
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 集群模式
- 安装第三方包
pip install hypersRedisCluster
- 使用
将 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,
},
}
}
网友评论