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的相关包的时候亲测)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 货币资金包括 银行结算户存款、外埠存款都
- 下一篇: django2.0.6 连接使用redi