Redis01_安装使用

基本模式

  1. 下载安装包

wget http://download.redis.io/releases/redis-6.2.1.tar.gz

  1. 解压到

tar -zxvf redis-6.2.1.tar.gz -C /opt/module

  1. 因为redis是c/c++ 编写,所以需要c的运行环境,安装tcl

yum -y install gcc-c++
yum -y install tcl

  1. 编译redis: 默认安装到/usr/local/bin下面

主要命令: make: 编译 make install : 安装

cd /opt/module/redis-6.2.1/
#或者使用命令 make 进行编译
make MALLOC=libc
make test && make install PREFIX=/opt/module/redis-6.2.1 // 编译安装到此目录

  1. 修改 redis.conf 文件

vim redis.conf
bind 127.0.0.1 //将此行进行注释掉, 进行远程连接
protected-mode no // 将远程保护取消 no ,可以进行远程连接
daemonize yes == // 允许后台允许 yes ==
logfile “/opt/module/redis-3.2.8/log/redis.log” // 日志存放路径
dir /opt/module/redis-3.2.8/data // 数据存放路径

  1. 启动redis

redis-server redis.conf 启动
redis-cli -h localhost -p 6379 客户端进行连接
redis-cli shutdown 优雅的关闭
ps aux | grep redis 查看redis进程的启动


主从复制模式

介绍: 主从复制模式,主要是将读写能力进行分开,分担单个服务器的压力,提高性能,也可以做容灾处理

复制原理: slave连接上master之后,就会发送同步的命令来进行传输数据文件.

  1. 设置多个不同端口的redis服务器进行启动:

    配置文件模板 :

    include /opt/module/redis-6.2.1/myredis/redis.conf
    pidfile /var/run/redis_6379.pid
    port 6379
    dbfilename dump6379.rdb

  2. 使用命令启动之后

info replication : 打印主从服务器的详细信息
slaveof ip地址 端口号 : 成为某个实例的从服务器,将其联系起来
slaveof no one : 将从服务器变成主服务器

到这里就可以完成基本的配置了

  1. 注意
    - 服从规则: 主服务器用来进行读写, 而从服务器只能用来进行读操作

  2. 常用的3种方式:
    4.1 一主二仆
    4.2 薪火相传 :当中间的slave宕机之后,后面的都全部不管用了
    4.3 反客为主 :
    在这里插入图片描述

  3. 哨兵模式: 其实就是反客为主模式的升级版,升级为自动的了
    5.1 创建 sentinel.conf 文件,名字不能出错,添加上下面内容

    sentinel monitor mymaster 主服务器ip 端口号 1
    解释: 其中mymaster为监控对象起的服务器名称, 1 为至少有多少个哨兵同意迁移的数量。

    5.2 启动执行 : redis-sentinel sentinel.conf
    5.3 这个时候就完成了, 如果主服务器宕机的话, 等待10几秒, 新的主服务器会往从服务器种找到

    规则 :

    1. 根据 优先级别 : slave-priority 数字越小越优先
    2. 根据偏移量
    3. 根据runid
      解释:
      优先级在redis.conf中默认:slave-priority 100,值越小优先级越高
      偏移量是指获得原主机数据最全的
      每个redis实例启动后都会随机生成一个40位的runid

    5.4 缺点:复制延时

    由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。

redis集群启动

优点:
实现扩容
分摊压力
无中心化集群配置简单

搭建规则: 修改为6个服务器 3主3从规模的

第一步:修改配置文件 : 6个文件都要配置, 端口号和文件名称要注意

include /home/bigdata/redis.conf
port 6379
pidfile “/var/run/redis_6379.pid”
dbfilename “dump6379.rdb”
dir “/home/bigdata/redis_cluster”
logfile “/home/bigdata/redis_cluster/redis_err_6379.log”
cluster-enabled yes # 允许使用集群
cluster-config-file nodes-6379.conf # 修改名称
cluster-node-timeout 15000 #超时时间

第二步: 将6个服务器合并成一个集群

先进入到 redis/src下: 进行执行

redis-cli --cluster create --cluster-replicas 1 192.168.11.101:6379 192.168.11.101:6380 192.168.11.101:6381 192.168.11.101:6389 192.168.11.101:6390 192.168.11.101:6391
解释:
此处不要用127.0.0.1, 请用真实IP地址
–replicas 1 采用最简单的方式配置集群,一台主机,一台从机,正好三组。

配置完成!

命令操作:

redis-cli -c -p 6379 #使用-c集群客户端连接
cluster nodes # 查看集群信息

插槽(slots):
将操作的key 进行计算出一个具体的插槽值, 每个主服务器都分配自己对应到的插槽范围, 根据key计算的值进行分配数据到集群存储 .

如果所有某一段插槽的主从节点都宕掉,redis服务是否还能继续?

如果某一段插槽的主从都挂掉,而cluster-require-full-coverageyes,那么 ,整个集群都挂掉
如果某一段插槽的主从都挂掉,而cluster-require-full-coverageno ,那么,该插槽数据全都不能使用,也无法存储。

猜你喜欢

转载自blog.csdn.net/First_____/article/details/120072037