栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

redis持久化、主从、哨兵

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

redis持久化、主从、哨兵

redis的持久化策略

  1. rdb(快照)
    以二进制的形式存放于dump.rdb文件中。可以在配置文件中redis.conf中设置缓存同步的策略,比如多少时间同步一次,多少次操作同步一次等,后台会根据bgsave指令,进行异步的同步数据,当然也可以手动执行save指令,进行数据的同步。
  2. aof
    以指令的形式存放于appendonly.aof文件中。需要在redis.conf中开启aof:appendonly yes,可以设置多久同步一次,如果相同的指令很多,可以设置自动重写的频率和大小。
    两者各有优缺点。redis4.0以后,结合两者的有点,出现了混合持久化策略
  3. 混合持久化
    需要配置文件中redis.conf中开启配置:aof-use-rdb-preamble yes 在同步期间的写的操作会储存到buffer的缓存文件中,同步之前的数据直接存储在dump.rdb,然后执行buffer缓存文件中写的指令,最后同步给磁盘。

主从结构
搭配流程

1、复制一份redis.conf文件

2、将相关配置修改为如下值:
port 6380
pidfile /var/run/redis_6380.pid  # 把pid进程号写入pidfile配置的文件
logfile "6380.log"
dir /usr/local/redis-5.0.3/data/6380  # 指定数据存放目录
# 需要注释掉bind
# bind 127.0.0.1(bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可)

3、配置主从复制
replicaof 192.168.0.60 6379   # 从本机6379的redis实例复制数据,Redis 5.0之前使用slaveof
replica-read-only yes  # 配置从节点只读

4、启动从节点
redis-server redis.conf

5、连接从节点
redis-cli -p 6380

6、测试在6379实例上写数据,6380实例是否能及时同步新修改数据

7、可以自己再配置一个6381的从节点

管道和lua脚本的区别
注意修改自己本机的ip
主从复制和部分复制的不同和相同

哨兵结构
类似于主从结构,客户端第一次连接哨兵,哨兵直接连接着主节点,然后客户端直接连接主节点,主节点挂了的话,哨兵会推选出新的主节点,然后通知客户端主节点的变化。
搭建哨兵结构

1、复制一份sentinel.conf文件
cp sentinel.conf sentinel-26379.conf

2、将相关配置修改为如下值:
port 26379
daemonize yes
pidfile "/var/run/redis-sentinel-26379.pid"
logfile "26379.log"
dir "/usr/local/redis-5.0.3/data"
# sentinel monitor    
# quorum是一个数字,指明当有多少个sentinel认为一个master失效时(值一般为:sentinel总数/2 + 1),master才算真正失效
sentinel monitor mymaster 192.168.0.60 6379 2   # mymaster这个名字随便取,客户端访问时会用到

3、启动sentinel哨兵实例
src/redis-sentinel sentinel-26379.conf

4、查看sentinel的info信息
src/redis-cli -p 26379
127.0.0.1:26379>info
可以看到Sentinel的info里已经识别出了redis的主从

5、可以自己再配置两个sentinel,端口26380和26381,注意上述配置文件里的对应数字都要修改

在spring中,操作redis,我们通常用springRedisTemplate,支持所有的 redis 原生的 api,操作非常的方便。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271077.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号