2024--Django平台开发-Redis集群(十一)

内容回顾

  • 主从复制。

  • 哨兵:实例启动了,哨兵节点没启动,Python通过redis-py连接报错。一定要确保实例节点和哨兵节点都启动了。

  • 搭建集群用的是虚拟机的多台centos服务器,你在跟着学习的时候,一定要全部都是虚拟机,或者全部都是云服务,不能混用。而且,尽量保证多台服务器的配置是一致的。

    • 软件的版本也要一致。
  • 虚拟机的静态IP配置:

    • 静态IP配置上了,所有的配置都是没问题的,但是静态IP就是不出来。
      • 是否是公司电脑,安装了特殊的安全、监控软件之类的,导致。
      • 是否开启了科学上网,如果是的话,先把你的代理关一关。
      • VMware的Windows服务中的相关服务是否是运行的。
      • 千万不要把你的虚拟机安装到移动硬盘上...
      • Python中的路径操作,尽量避开e盘,软件安装、项目也不要放到这个e盘上。

Python操作Redis集群

https://www.cnblogs.com/Neeo/articles/17587765.html#连接集群

python 复制代码
from redis import RedisCluster
from redis.cluster import ClusterNode

if __name__ == '__main__':


    # 集群所有(主从)节点的列表
    nodes = [
        ClusterNode("192.168.10.150", port=6380), ClusterNode("192.168.10.150", port=6381),

        ClusterNode("192.168.10.151", port=6380), ClusterNode("192.168.10.151", port=6381),

        ClusterNode("192.168.10.152", port=6380), ClusterNode("192.168.10.152", port=6381),
    ]

    # 可以给定全部集群中的机器IP信息
    cluster = RedisCluster(startup_nodes=nodes, decode_responses=True)

    # 也可以随便指定一个节点(不管主从都可以,它会自动定位)
    # cluster = RedisCluster(host="192.168.10.150", port=6381, decode_responses=True)
    cluster.set("user", "zhangkai")
    print(cluster.get("user"))

集群自动部署

  1. 有个交互提示,需要手动输入yes
bash 复制代码
redis-cli --cluster create 192.168.10.150:6380 192.168.10.151:6380 192.168.10.152:6380 192.168.10.150:6381 192.168.10.151:6381 192.168.10.152:6381 --cluster-replicas 1
  1. 优化yes,用echo命令处理
bash 复制代码
echo "yes"|redis-cli --cluster create 192.168.10.150:6380 192.168.10.151:6380 192.168.10.152:6380 192.168.10.150:6381 192.168.10.151:6381 192.168.10.152:6381 --cluster-replicas 1
  1. 优化yes,用的是--cluster-yes来优化,推荐使用这个
bash 复制代码
redis-cli --cluster create 192.168.10.150:6380 192.168.10.151:6380 192.168.10.152:6380 192.168.10.150:6381 192.168.10.151:6381 192.168.10.152:6381 --cluster-replicas 1 --cluster-yes
# --cluster-replicas 1 表示一个主节点有一个从节点
# --cluster-yes 表示有交互的提示中,自动输入yes

集群参考:https://www.cnblogs.com/Neeo/articles/10840096.html

补充一个Python3.11解释器在centos7系统的安装

https://www.cnblogs.com/Neeo/articles/12829625.html#编译安装python311

大key和热key分析参考:https://www.cnblogs.com/Neeo/articles/17643361.html

关于Redis的所有的笔记,都可以参考:https://www.cnblogs.com/Neeo/p/10864123.html#database

关于Redis的所有的配置都可以参考这个文件

在安装目录中:

bash 复制代码
[root@cs redis-5.0.7]# pwd
/opt/redis-5.0.7
[root@cs redis-5.0.7]# cat redis.conf    # 这个配置文件是最全的

但我们没有用这个文件,用的是:

bash 复制代码
[root@cs opt]# cat /opt/redis6379/conf/redis6379.conf 
daemonize yes
bind 192.168.10.150 127.0.0.1
port 6379
pidfile "/opt/redis6379/pid/redis6379.pid"
logfile "/opt/redis6379/logs/redis6379.log"
dir "/data/redis6379"
save 900 1
save 300 10
save 60 10000
dbfilename "redis.rdb"
appendonly yes
appendfilename "redis.aof"
appendfsync everysec
相关推荐
_.Switch13 分钟前
Python机器学习模型的部署与维护:版本管理、监控与更新策略
开发语言·人工智能·python·算法·机器学习
Hoper.J33 分钟前
PyTorch 模型保存与加载的三种常用方式
人工智能·pytorch·python
弱冠少年1 小时前
websockets库使用(基于Python)
开发语言·python·numpy
向上的车轮1 小时前
Django学习笔记五:templates使用详解
笔记·学习·django
技术无疆2 小时前
【Python】Streamlit:为数据科学与机器学习打造的简易应用框架
开发语言·人工智能·python·深度学习·神经网络·机器学习·数据挖掘
羊小猪~~2 小时前
机器学习/数据分析--用通俗语言讲解时间序列自回归(AR)模型,并用其预测天气,拟合度98%+
人工智能·python·机器学习·数据挖掘·数据分析·回归·时序数据库
qq_273900232 小时前
解析TMalign文本文件中的转换矩阵
python·生物信息学
阿华的代码王国3 小时前
【JavaEE】——文件IO的应用
开发语言·python
电饭叔3 小时前
《python语言程序设计》2018版第8章19题几何Rectangle2D类(下)-头疼的几何和数学
开发语言·python
向上的车轮4 小时前
Django学习笔记十一:部署程序
笔记·学习·django