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
相关推荐
工业甲酰苯胺21 分钟前
Redis性能优化的18招
数据库·redis·性能优化
小二·1 小时前
java基础面试题笔记(基础篇)
java·笔记·python
小喵要摸鱼3 小时前
Python 神经网络项目常用语法
python
Oak Zhang3 小时前
sharding-jdbc自定义分片算法,表对应关系存储在mysql中,缓存到redis或者本地
redis·mysql·缓存
门牙咬脆骨4 小时前
【Redis】redis缓存击穿,缓存雪崩,缓存穿透
数据库·redis·缓存
门牙咬脆骨4 小时前
【Redis】GEO数据结构
数据库·redis·缓存
一念之坤4 小时前
零基础学Python之数据结构 -- 01篇
数据结构·python
wxl7812275 小时前
如何使用本地大模型做数据分析
python·数据挖掘·数据分析·代码解释器
NoneCoder5 小时前
Python入门(12)--数据处理
开发语言·python
LKID体6 小时前
Python操作neo4j库py2neo使用(一)
python·oracle·neo4j