Redis环境搭建(整合SprinigBoot一键切换集群和单机环境)

Redis介绍

Redis使用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,常用数据类型如下:

  • 字符串类型
  • 散列类型
  • 列表类型
  • 集合类型
  • 有序集合类型

本文采用环境:CentOS7、Redis3.0.0版本演示

Redis的应用场景

  • 实现应用缓存(不经常更换的内容)
  • 网站访问统计
  • 结合lua实现接口频率访问控制
  • 实现分布式锁

单机版本安装

安装reids需要先将官网下载的源码进行编译,编译环境依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++

Redis中文官网:http://www.redis.cn
源码包下载:http://download.redis.io/releases/redis-3.0.0.tar.gz

  1. 将reids-3.0.0.tar.gz拷贝到/usr/local下
  2. 解压源码 tar -zxvf reids-3.0.0.tar.gz
  3. 进入解压后目录编译 cd /usr/local/redis-3.0.0 & make
  4. 安装到指定的目录:如 /usr/local/redis,cd /usr/local/redis-3.0.0 & make PREFIX=/usr/local/redis install
  5. 找到源码包中redis.conf文件,该文件是redis的配置文件。默认端口为port=6379
  6. 拷贝到安装目录下 cp 源码包下的redis.conf /usr/local/redis/bin
  7. 启动方式分为两种,前端启动和后端启动
    前端启动:进入到/usr/local/redis/bin目录下,./redis-server即可启动
    后端启动:需要修改redis.conf配置文件中的daemonize yes未后端模式启动。命令:cd /usr/local/redis/bin ./redis-server ./redis.conf
  8. reids关闭命令:cd /usr/local/redis/bin ./redis-cli shutdown

集群版本安装

原理不做讲解:可参考淘淘redis集群原理。讲解的非常清楚。本文部分环境安装介绍来源于淘淘。

  1. redis集群管理工具redis-trib.rb依赖ruby环境,首先需要安装ruby环境
    安装ruby yum install ruby & yum install rubygems
  2. 安装ruby和redis的接口程序。将下载好的reids-3.0.0.gem(需提前进行下载)拷贝到/usr/local下
    执行:gem install /usr/local/reids-3.0.0.gem
  3. 集群节点规划
    这里实现的是伪集群,用不同的端口号表示不同的节点。如下:
    主节点:192.168.15.130:7001 192.168.15.130:7002 192.168.15.130:7003
    从节点:192.168.15.130:7004 192.168.15.130:7005 192.168.15.130:7006
  4. 在/usr/local下创建redis-cluster目录,其下创建7001、7002…7006目录。
  5. 将redis安装目录bin下的文件拷贝到每个700x目录内,同事将redis源码目录src下的redis-trib.rb文件拷贝到redis-clulster目录下。(如果有rdb或者dump文件,请先删除,在拷贝到700x目录,否则启动失败)
  6. 修改每个700x目录下的reids.conf配置文件:
    port xxxx
    cluster-enabled yes
  7. 配置好以上内容。分别进入7001、7002…7006目录下:执行./redis-server ./redis.conf 也可以编写shell脚本一键启动。分别启动完毕后**(使用ps aux|grep redis)查看启动进程**
  8. 执行redis-trib.rb,此脚本是ruby脚本,需要依赖ruby环境,在前文中已安装过。
    cd /usr/local/redis-cluster目录下执行:
    ./redis-trib.rb create --replicas 1 192.168.15.130:7001 192.168.15.130:7002 192.168.15.130:7003 192.168.15.130:7004 192.168.15.130:7005 192.168.15.130:7006执行创建集群命令
    对以上命令说明:reids集群至少3个主节点,每个主节点有一个从节点共6个节点。
    replicas指定为1,表示每个主节点有一个从节点。
  9. 集群创建成功登陆任意redis节点查询集群中的节点情况
    客户端已集群方式登陆:./redis-cli -c -h 192.168.15.130:7002 & cluster nodes
    其中-c表示以集群方式连接redis,-h 指定ip地址,-p指定端口号。cluster nodes查询集群节点信息,cluster-info查询集群状态信息
  10. 至此集群搭建成功。
  11. 可添加主节点:
    集群创建成功后可以向集群中添加节点,下面是添加一个master主节点。添加7007节点,参考集群节点规划。添加一个7007目录作为新节点。
    执行以下命令:./redis-trib.rb add-node 192.168.15.130:7007 192.168.15.130:7001
    查看集群状态 cluster nodes
    添加主节点。第一个ip为新添加节点ip,第二个ip为主节点任意一个ip地址
  12. hash槽重新分配
    添加完主节点需要对主节点进行hash槽分贝,这样改主节点才可以存储数据。redis集群有16384个槽,集群中的每个节点分配自己槽,通过查看集群节点可以看到槽占用情况:cluster nodes
    给刚添加的7007节点分配槽:
  • 连接上集群:./redis-trib-rb reshard 192.168.15.130:7001(连接集群中任意一个节点都行)
  • 输入分配的槽数量
  • 输入接收槽的节点:通过cluster nodes查看7007节点id。
  • 输入源节点id。输入源节点id,槽将从源节点中拿,分配后的槽在源节点中就不存在了,输入all从所有源节点中获取槽,输入done取消分配。
  • 输入yes开始移动槽到目标节点id
  1. 添加从节点:集群创建成功后可以向集群中添加节点,下面是添加一个slave从节点。添加节点7008从节点,将7008作为7007的从节点。
    ./redis-trib.rb add-node --slave --master-id 主节点id 添加节点的ip和端口 集群中已存在的节点ip和端口
    执行如下命令:./redis-trib.rb add-node --slave --master-id 主节点id 192.168.15.130:7008 192.168.15.130:7001
    主节点id为7007节点id。可通过cluster nodes查看

代码:SpringBoot+Redis整合代码地址,可一键切换单机、集群环境。(https://gitee.com/enthusiasts/redis-spring-boot-starter)
个人gitee:https://gitee.com/enthusiasts

猜你喜欢

转载自blog.csdn.net/qq_37640410/article/details/108251806