redis的持久化和集群模式
redis的持久化
什么是持久化
把内存中的数据存储到磁盘的,同时也可以把磁盘中的数据加载到内存中
redis实现持久化的方式
erdis实现持久化的方式有两种:RDB、AOF
第一种RDB(Redis DataBase快照模式,每隔一段时间对内存数据进行快照存储) 触发方式
手动触发:使用save或bgsave触发rdb,保存名称默认为dump.rdb save和bgsave的区别:save会阻塞当前Redis服务器,执行save时Redis不能处理其他命令,需等其执行完毕 bgsave执行时Redis会在后台进行快照操作,不影响其他操作的执行,也是Redis唯一的多线程操作
自动触发:通过配置文件的修改启用 步骤:打开conf配置文件,搜索save,在其注释下方添加save 秒 次数 例:save 10 5 意思为十秒内操作5次则自动保存
第二种AOF(Append Only File日志追加模式,需要手动开启)
开启aof:打开配置文件,搜索appendonly,将no改为yes即可启用
相关配置:appendfilename "appendonly.aof" 保存后的文件名称 appenddirname "appendonlydir" 保存的文件存放的目录名称 appendfsync always || enerysec || no 触发机制(总是触发||每操作一次触发||不触发)
执行原理:当启动redis服务器时会把日志文件中的命令从上到下执行一遍
RDB和AOF的优缺点
RDB快照模式:数据备份和恢复速度快,但是数据完整性差,数据可能会丢失
AOF日志追加:数据完整性高,缺点是数据备份和恢复速度慢
redis的集群模式
为什么使用集群模式
集群模式提高并发量和可用性
redis提供了三种集群模式
主从模式、哨兵模式、去中心化模式
第一种主从模式(主从模式表示一个主节点跟若干个从节点,主节点负责读写操作,从节点只负责读,数据会自动同步)
创建主从模式
1. 修改配置文件:将端口号和dump、aof文件的名称修改为不同的名字,确保能区分出主和从,并将文件复制多分,每份的文件内容都要修改
2. 开启redis服务器:redis-server 修改后的配置文件名
3. 配置主从关系(配从不配主):slaveof 主节点IP 主节点端口号
配置完成后使用info replication可以分别查看主从的状态
4. 缺点:不会自动选举master主节点,一旦主节点挂掉会无法进行写的操作第二种哨兵模式(为了解决主从模式的缺陷:当主节点宕机后,从节点无法直接上位的问题)
1. 修改sentinel.conf配置文件:将sentinel monitor mymaster 后的IP和端口号改为自己的主节点然后跟上哨兵数量除二的值为投票通过数 例:192.168.111.188 6380 1
2. 启动哨兵服务:redis-sentinel sentinel.conf第三种去中心化模式(常用,至少包含三个主节点和三个从节点一一对应,主从之间自动同步,主从之间内置哨兵)
1. 修改配置文件端口号:复制六份配置文件将文件内的端口全部修改为不同的端口号
2. 开启集群模式:配置文件搜索cluster-enabled yes,将其启用,cluster-config-file nodes-自己的主节点的一个端口号.conf
3. 配置dump存储文件名,aof文件名,aof存储目录名
4. 启动服务:redis-server 修改后的配置文件名
5. 通过ps -ef | grep redis查看后缀为cluster的进程就是启动成功
6. 分槽以及设置主从关系(ip和端口等改为自己设置的):redis-cli --cluster create --cluster-replicas 1 192.168.111.188:7001 192.168.111.188:7002 192.168.111.188:7003 192.168.111.188:7004 192.168.111.188:7005 192.168.111.188:7006
原文地址:https://blog.csdn.net/Baizeh/article/details/140627861
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!