下载地址及版本说明

Redis 各版本下载地址: http://download.redis.io/releases/

版本说明:一般来说版本号第二位,偶数是稳定版本,奇数是在开发中的版本

本文基于Redis 版本为:3.2.12

理论依据文章为:

https://blog.csdn.net/sanri1993/article/details/101599701

https://blog.csdn.net/sanri1993/article/details/101620171

主从搭建

一主多从结构

结构

master 6379

slave 6380 -> 6379

slave 6381 -> 6379

搭建过程

  • 配置节点

master 6379 redis6379.conf

port 6379
protected-mode no
daemonize yes

slave 6380 redis6380.conf

port 6380
protected-mode no
daemonize yes
slaveof localhost 6379

slave 6381 redis6381.conf

port 6381
protected-mode no
daemonize yes
slaveof localhost 6379
  • 启动
./redis-server conf/redis6379.conf
./redis-server conf/redis6380.conf
./redis-server conf/redis6381.conf
  • 查看是否启动成功
# 先看进程是否启动
netstat -tlnp | grep -E "6379|6380|6381"
# 查看拓扑结构
127.0.0.1:6379> info Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6380,state=online,offset=10459,lag=0
slave1:ip=127.0.0.1,port=6381,state=online,offset=10459,lag=0

树状主从结构

结构

master 6379

slave 6380 -> 6379

slave 6381 -> 6380

搭建过程

和一主多从有变化的配置,其它环节一致

slave 6381 redis6381.conf

port 6381
protected-mode no
daemonize yes
slaveof localhost 6380

哨兵环境搭建

现切换成一主多从结构 ,在一主多从的情况下,搭建三个哨兵

结构

sentinel 26379 sentinel 26380 sentinel 26381

master 6379

slave 6380 -> 6379

slave 6381 -> 6379

搭建过程

  • 配置哨兵节点

sentinel 26379

port 26379
daemonize yes
sentinel monitor mymaster 127.0.0.1 6379 2

sentinel 26380

port 26380
daemonize yes
sentinel monitor mymaster 127.0.0.1 6379 2

sentinel 26381

port 26381
daemonize yes
sentinel monitor mymaster 127.0.0.1 6379 2
  • 启动哨兵
./redis-sentinel conf/sentinel26379.conf
./redis-sentinel conf/sentinel26380.conf
./redis-sentinel conf/sentinel26381.conf
  • 查看是否启动成功
# 查看进程是否启动成功
ps aux | grep sentinel # 关闭主节点,看是否会选举一台从节点成为主节点
127.0.0.1:6379> shutdown # 重启之前的主节点,一段时间后,查看是否成为 slave 节点

集群环境搭建

结构

cluster master ->cluster slave

master 6379 -> slave6389

master 6380 -> slave6390

master 6381 -> slave6391

搭建过程

  • 配置节点配置信息

master 6379

port 6379
protected-mode no
daemonize yes cluster-enabled yes
cluster-node-timeout 15000
# . 相对于命令运行路径,最好写绝对路径
cluster-config-file ./nodes-6379.conf

其它 master slave 只需要修改端口号即可,然后使用 ./redis-server <configfile> 启动

  • 建立集群通信
# 将集群的每一个节点建立通信
192.168.108.128:6379>cluster meet ip port # 查询集群节点
192.168.108.128:6379>cluster nodes
  • 映射数据槽

redis集群有16384个哈希槽,要把所有数据映射到16384槽,需要批量设置槽

# 查询集群状态
192.168.108.128:6381> cluster info
cluster_state:fail # 显示为 fail 是还没有映射槽,还不能提供服务
redis-cli -h 192.168.108.128 -p 6379 cluster addslots {0..5461}
redis-cli -h 192.168.108.128 -p 6380 cluster addslots {5462..10922}
redis-cli -h 192.168.108.128 -p 6381 cluster addslots {10923..16383}
  • 配置主从,在从节点上操作,复制哪一个 master
192.168.152.128:6389> cluster replicate 9b7b0c22f95eb01fb9935ad4b04d396c7f99e881
192.168.152.128:6390> cluster replicate 5351c088472467ae485ed519cea271efda646bfa
192.168.152.128:6391> cluster replicate e718f126278072e1e180c3e518d73e0bc877b3dc
  • 测试集群是否正常工作
# 登录上之后,执行不同的 set 操作,看能否跳转至其它节点执行命令
./redis-cli -c

SpringBoot 连接 redis 集群

  • 引入 spring-boot-starter-data-redis
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
  • 配置节点信息
spring.redis.cluster.nodes=192.168.108.128:6379,192.168.108.128:6380,192.168.108.128:6381

一点小推广

创作不易,希望可以支持下我的开源软件,及我的小工具,欢迎来 gitee 点星,fork ,提 bug 。

Excel 通用导入导出,支持 Excel 公式

博客地址:https://blog.csdn.net/sanri1993/article/details/100601578

gitee:https://gitee.com/sanri/sanri-excel-poi

使用模板代码 ,从数据库生成代码 ,及一些项目中经常可以用到的小工具

博客地址:https://blog.csdn.net/sanri1993/article/details/98664034

gitee:https://gitee.com/sanri/sanri-tools-maven

最新文章

  1. 利用ajax向jsp传输数据
  2. 循环写入Insert 与 SqlBulkcopy
  3. 02 CSS/javaScript
  4. java日期操作大全
  5. 15个实用的jQuery技术
  6. Light OJ 1013 Love Calculator(DP)
  7. LAMP的安装
  8. crontab 里不能运行expdp
  9. C#框架
  10. 安装oracle后登录时出现 ERROR: ORA-01031 insufficient privileges
  11. HTTP协议之URL
  12. 软工网络15个人作业4——alpha阶段个人总结
  13. java holdsLock()方法检测一个线程是否拥有锁
  14. YAML基础语法
  15. PHP生成HTML静态页面。
  16. Mybatis 系列8-结合源码解析select、resultMap的用法
  17. js基础学习笔记(三)
  18. ubuntu 安装 ftp服务
  19. CCF CSP 201703-2 学生排队
  20. SQL SEREVR IO

热门文章

  1. Jenkins教程——从安装到部署Docker服务(一)安装Jenkins
  2. CentOS -- Zookeeper installation and configure
  3. python2和python3的解释器安装
  4. 数据的查找和提取[2]——xpath解析库的使用
  5. 2019-07-26-hexo博客图片问题
  6. 混合图欧拉回路POJ1637Sightseeing tour
  7. POJ-3169 Layout (差分约束+SPFA)
  8. Codeforces Round #465 &amp;935C. Fifa and Fafa计算几何
  9. 【百度之星】【思维】hdu 6724Totori&#39;s Switching Game
  10. 51nod 1218 最长递增子序列 V2(dp + 思维)