redis学习-主从-哨兵集群-redis-cluster简单日记

1.linux下redis安装及部署

redis安装包与ruby安装包下载

(转)Linux下Redis的安装与部署

2.常用命令及简单配置注解

redis-server redis.conf: 启动redis服务,并指定配置文件
redis-cli -p 端口号 :按照端口号启动redis 客户端
pkill redis-server: 关闭redis服务
redis-cli shutdown: 关闭redis客户端
netstat -tunpl|grep 6379: 查看redis 默认端口号6379占用情况

redis.conf: redis的配置文件,可以有多个
(转)Redis 3.2.x版本 redis.conf 的配置文件参数详解

bind:后边链接监听 的IP地址 ,只有链接的地址才可以访问redis服务器,注释掉代表谁都可以连接服务器
daemonize :是否守护进程启动
protected-mode:yes或no,保护模式,yes的话连接服务器时需要密码
prot:启动端口号
timeout :客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
dbfilename :指定数据持久化保存文件,建议多个服务器按不同启动端口号修改

3.主从复制

在主服务器中写入信息,会同步到从服务器上
创建多个不同端口的配置文件,实现01主服务器,02,03为01的从服务器
在这里插入图片描述

  1. 配置文件添加
    在redis02.conf,redis03.conf中添加
	slaveof 01.conf所在服务器ip 01.conf中配置的端口

如下图所示:
在这里插入图片描述

  1. 命令行添加
    启动02,03服务器,执行redis-cli -p 02配置端口号进入控制台,
    输入(slaveof 01.conf所在服务器ip 01.conf中配置的端口)即可

查看挂接状态,在进入01控制台,输入info replication,可以看到从服务器信息,ip,端口等
在这里插入图片描述

4.哨兵集群监听主从结构

配置文件为sentinel.conf,同redis.conf可配置多个,必须配置多个才会有用处,其他配置信息与redis.conf差不多,只是需要添加一个

sentinel monitor mymaster 监听redis主服务器ip redis主服务器端口
mymaster :可自定义其他名称,判断多个哨兵是否一个集群的依据

需要注意一个哨兵集群要配置同一个mymaster名称
效果
哨兵监听01服务器,当01服务器宕机时,哨兵集群会投票选举02或者03充当主服务器,使redis服务正常运行,当01服务器重新恢复后,哨兵会将01重新挂接到新选举的主服务器,使01服务器作为新的从服务器存在

5.redis-cluster的集群

结构特点

  1. 所有的redis节点彼此互联,底层依赖二进制传输协议的,优化传输速度.(集群的基础)。
  2. 节点的fail是通过集群中超过半数的节点检测失效时才生效。
  3. 客户端连接任意一个节点,都可以向集群传递存储数据,获取数据的命令,数据会在集群内部做节点的连接跳转。
  4. redis-cluster把所有的物理节点映射到[0-16383]slot上(不一定是平均分配),cluster 负责维护node<->slot<->value。
  5. Redis集群预分好16384个槽道,当需要在 Redis 集群中放置一个 key-value 时,根据 (取余,CRC16()散列计算)获取槽道值,决定将一个key放到哪个节点槽道中。

新集群需要修改redis.conf配置文件,以上边配置文件为基础进行修改
修改位置 :

appendonly yes
appendfilename "appendonly建议添加启动端口号.aof"
cluster-enabled yes
cluster-config-file nodes建议添加启动端口号.conf

redis5.0之前版本需要添加ruby语言进行集群的命令,而5.0版本的redis-cli中自带集群命令,可用redis-cli --cluster help查看帮助命令

[redis@bogon 6379]$ redis-cli --cluster help
Cluster Manager Commands:
  create         host1:port1 ... hostN:portN
                 --cluster-replicas <arg>
  check          host:port
                 --cluster-search-multiple-owners
  info           host:port
  fix            host:port
                 --cluster-search-multiple-owners
  reshard        host:port
                 --cluster-from <arg>
                 --cluster-to <arg>
                 --cluster-slots <arg>
                 --cluster-yes
                 --cluster-timeout <arg>
                 --cluster-pipeline <arg>
                 --cluster-replace
  rebalance      host:port
                 --cluster-weight <node1=w1...nodeN=wN>
                 --cluster-use-empty-masters
                 --cluster-timeout <arg>
                 --cluster-simulate
                 --cluster-pipeline <arg>
                 --cluster-threshold <arg>
                 --cluster-replace
  add-node       new_host:new_port existing_host:existing_port
                 --cluster-slave
                 --cluster-master-id <arg>
  del-node       host:port node_id
  call           host:port command arg arg .. arg
  set-timeout    host:port milliseconds
  import         host:port
                 --cluster-from <arg>
                 --cluster-copy
                 --cluster-replace
  help           

(转)redis-cluster集群的详细教程可参照博客–redis-cluster集群

发布了12 篇原创文章 · 获赞 2 · 访问量 3705

猜你喜欢

转载自blog.csdn.net/qq_36249132/article/details/104152180