本地环境:
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