django连接redis 集群(安装redis的相关包的时候亲测)

本地环境:
python3.7
Django== 2.2.3
django-cluster-redis== 1.0.5
django-redis== 4.10.0
redis== 3.0.1
redis-py-cluster== 2.0.0

看的这个官方文档:参考,文档中有个集群客户端,但是我本地测试结果显示,面对 moved error, 这个客户端也没有自动重定向到指定节点,只是报出来了错误:redis.exceptions.ResponseError: MOVED 9155 127.0.0.1:6380,表现的不像是个集群客户端。
我需要的是,能够自己重定向到指定节点,并取回数据或者设置值。(./redis-cli -c -p 6379)集群模式的客户端


刚开始看的这个人的博客必看参考,自己去setting设置,不知道为啥没成功,后来又各种找资料,最后还是根据这个人的博客设置成功的。

CACHES = {
    'default': {
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION': [
            "redis://127.0.0.1:6379/0",
            "redis://127.0.0.1:6380/0",
            "redis://127.0.0.1:6381/0",
        ],
        'OPTIONS': {
            'REDIS_CLIENT_CLASS': 'rediscluster.RedisCluster',
            'CONNECTION_POOL_CLASS': 'rediscluster.connection.ClusterConnectionPool',
            # 'CONNECTION_POOL_KWARGS': {
            #    'skip_full_coverage_check': True
            # }
        }
    }
}
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_CACHE_ALIAS = 'default'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
搭建的本地环境: 6379,6380(从节点:6381),哪怕setting中只有一个6381节点,django项目也可以增删改查数据。

如果setting中已经这样设置了,但是无法正常工作的话,检查一下,看一下能否正确导入。

(py37) xiaocai@ubuntu:~/prpject/pro-path$ python manage.py shell
Python 3.7.3 | packaged by conda-forge | (default, Jul  1 2019, 21:52:21) 
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from rediscluster import RedisCluster
>>> from rediscluster.connection import ClusterConnectionPool
————————————————
版权声明:本文为CSDN博主「crazy_xiaocai」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42752585/article/details/103664767

你可能感兴趣的:(django连接redis 集群(安装redis的相关包的时候亲测))