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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章