文档章节

redis

熊猫你好
 熊猫你好
发布于 2017/06/26 14:39
字数 606
阅读 11
收藏 0

redis持久化rdb(Redis DataBase) aof(Append Only File)

rdb效率比aof高,但是有可能会丢失最后一次持久化操作(redis意外的down掉,将会丢失最后一次快照的所有修改,而且fork的时候,内存数据被克隆了一份,大致2倍的膨胀性需要考虑),数据精度有点低,对数据完整性和一致性要求不高,适合大规模的数据恢复!!dump.rdb

save 900 1 :15分钟操作了一次key就保存

save 300 10 :5分钟操作(除了get)10次key就保存

save 60 10000 :1分钟操作10000次就保存

禁用rdb:save ""、或者不写save指令

立刻写入磁盘生成dump.rdb:手动写入save(直管保存,全部阻塞)bgsave(异步,执行lastsave查看最后一次执行快照的时间).

执行flushall也会产生dump.rdb但是是空的,没有意义

如何恢复:将备份文件(dump.rdb)移动到redis安装目录并启动服务即可

config get dir:获取目录

停止所有rdb的保存规则:redis-cli config set save ""

AOF:appendonly.aof

appendonly.aof和dump.rdb可以共存,redis启动的时候先找寻的是appendonly.aof,如果有问题则启动redis服务失败.

执行:redis-check-aof --fix appendonly.aof 自动修复apendonly.aof文件,将文件里面的不符合语法规则的数据给删除掉

事务:

multi:开启事务,exec:执行事务,discard:放弃批处理操作

------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------

redis订阅发布:

redis主从复制:

slaveof 主机IP 端口号

主从复制:从机一接手,马上完全备份主机所有数据

读写分离:只有主机才可以写,从机只可以读(从机写会报错)

当主机突然关闭了,从机原地待命:当主机重新连接起来时,又恢复连接(主从),当从机突然关闭了,在次登录时需要重新连成从机(除非写进配置文件redis.conf)

薪火相传(去中心化):

反客为主(主机挂了,从机选一个为主机:当主机再次连接时自成体系):

slaveof no one:使从机变为主机(是当前数据库停止与其他数据库的同步,转成为主数据库)

哨兵模式:

建立sentinel.conf

写入内容:sentinel monitor 名称 ip 端口号 1 例如:sentinel monitor host6379 127.0.0.1 6379 1

启动哨兵:redis-sentinel /myredis/sentinel.conf (当死去的主机在次复活时,将成为从机)

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
熊猫你好
粉丝 5
博文 67
码字总数 19442
作品 0
遂宁

暂无文章

SpringData JPA 在解析实体类字段时驼峰自动添加下划线问题

SpringData JPA 使用的默认命名策略是: ImprovedNamingStrategy 。用下划线转换驼峰名,如 authorId ,转换成 author_id 。这样就遇到了一个问题:实体中驼峰命名的列名转换成下划线后,在M...

Jacktanger
22分钟前
1
0
Android JNI开发系列(十)JNI访问 Java 实例变量和静态变量

JNI访问 Java 实例变量和静态变量 Java 中的实例变量和静态变量,在本地代码中如何来访问和修改。静态变量也称为类变量(属性),在所有实例对象中共享同一份数据,可以直接通过类名.变量名来...

蔡小鹏
27分钟前
1
0
jsapi4加载的首个图层的范围被默认作为地图范围,且不能修改的解决

在map加载的第一个图层的图层范围(fullExtent),会被默认设置为map的全图范围,且不能更改,从一般地图控件角度来说,应该有fullExtent属性,作为地图的全图范围,但很遗憾jsapi4.9还没有 ...

canneljls
27分钟前
2
0
JSON.stringify()

JSON.parse()与JSON.stringify()的区别 JSON.parse()【从一个字符串中解析出json对象】 例子: //定义一个字符串 var data='{"name":"goatling"}' //解析对象 JSON.parse(data) 结果是: na...

废柴
27分钟前
1
0
HashSet

前言 Set的实现类都是基于Map来实现的(HashSet是通过HashMap实现的)。 构造图如下: 蓝色线条:继承 绿色线条:接口实现 正文 对于HashSet而言,它是基于HashMap来实现的,底层采用HashMap来保...

狼王黄师傅
29分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部