01.机器配置
-
VMware版本号:16.0.0
-
在两台机器上分别安装好redis服务
系统 | IP | 运行实例端口 | Redis版本 |
---|---|---|---|
CentOS 7.5 | 192.168.56.65 | 7000 7001 7002 |
redis-5.0.3 |
CentOS 7.5 | 192.168.56.66 | 7000 7001 7002 |
redis-5.0.3 |
02.192.168.56.65配置
- 创建conf配置文件夹
- 三个⽂件的配置区别在
port、pidfile、cluster-config-file
三项
1 | [root@k8s-node1 ~]# mkdir /root/conf/ |
2.1 7000.conf
1 | [root@k8s-node1 ~]# vim /root/conf/7000.conf |
2.2 7001.conf
1 | [root@k8s-node1 ~]# vim /root/conf/7001.conf |
2.3 7002.conf
1 | [root@k8s-node1 ~]# vim /root/conf/7002.conf |
2.4 启动redis服务
1 | [root@k8s-node1 conf]# redis-server 7000.conf |
03.192.168.56.66配置
- 创建conf配置文件夹
- 三个⽂件的配置区别在
port、pidfile、cluster-config-file
三项
1 | [root@k8s-node1 ~]# mkdir /root/conf/ |
2.1 7003.conf
1 | [root@k8s-node1 ~]# vim /root/conf/7003.conf |
2.2 7004.conf
1 | [root@k8s-node1 ~]# vim /root/conf/7004.conf |
2.3 7005.conf
1 | [root@k8s-node1 ~]# vim /root/conf/7005.conf |
2.4 启动redis服务
1 | [root@k8s-node1 conf]# redis-server 7003.conf |
04.创建集群
4.1 创建集群
- redis-trib.rb是官方提供的Redis Cluster的管理工具,无需额外下载,默认位于源码包的src目录下
1 | '''将redis-trib.rb复制到/usr/local/bin/下,以便在任何⽬录下调⽤此命令''' |
- 但因该工具是用ruby开发的,所以需要准备相关的依赖环境
1 | [root@k8s-node2 src]# yum -y install ruby |
运⾏如下命令创建集群
1 | [root@k8s-node2 src]# redis-cli --cluster create 192.168.56.65:7000 192.168.56.65:7001 192.168.56.65:7002 192.168.56.66:7003 192.168.56.66:7004 192.168.56.66:7005 --cluster-replicas 1 |
4.2 查看集群创建结果
- 根据下图可以看出,当前搭建的主服务器为7000、7001、7003,对应的从服务器是7004、7005、7002
4.3 数据验证
- 在7002上写入数据,会自动将操作转发给7003
- 在7002和7003两台服务器中,
7003是master,master能写入
1 | [root@k8s-node1 conf]# redis-cli -h 192.168.56.65 -c -p 7002 |
- 在7003中可以看到刚刚在7002中写入的数据
1 | [root@k8s-node1 ~]# redis-cli -h 192.168.56.66 -c -p 7003 |
- 在7000客户端去查找刚刚的数据,其实当前redis实例没有这条数据
- 会将请求转发给了7003这个redis进行查找
1 | [root@k8s-node1 ~]# redis-cli -h 192.168.56.65 -c -p 7000 |
05.Python交互
5.1 安装redis-py-cluster
1 | pip install redis==2.10.6 |
- redis-py-cluster源码地址https://github.com/Grokzen/redis-py-cluster
5.2 python使用redis集群
1 | from rediscluster import * |
06.django中使用
6.1 Requirement
Python 3.0+
Django>=1.9.6
redis>=2.10.5
redis-py-cluster>=1.2.0
msgpack-python>=0.4.7
6.2 How to install
1 | $python setup.py install |
6.3 Django Settings
1 | CACHES = { |
__END__