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