美文网首页
Redis 基本数据 持久化 2018-09-09

Redis 基本数据 持久化 2018-09-09

作者: 尖头核桃 | 来源:发表于2018-09-09 21:40 被阅读0次

基本数据类型以及操作

基本数据类型: string, hash, list, set, sort set
TO DO: 总结数据操作及应用场景

持久化

两种方式: RDB 和 AOF

选择和使用

(1)只做缓存: 可以都不同
(2)同时开启两种方式: 重启时首先加载AOF文件,因为AOF文件比RDB完整
(3)不要只用AOF,RDB做后备用途。在Slave上持久化RDB文件,15分钟备份一次,只保留save 900 1 这条规则
(4)启动AOF,最坏丢失不超过2秒数据。 a.带来一定的IO b.rewrite 阻塞写到新文件 可以将64M 改写为5G以上
(5)不使用AOF 仅靠Master-Slave Replication 实现高可用性,省掉IO,但是如果Master/Slave同时当掉,丢失十几分钟数据,启动脚本时比较 Master/Slave中较新的RDB文件载入。(新浪架构)

启动时先读AOF?

RDB

dump.rdb
持久化可以在指定的时间间隔内生成数据集的时间点快照
默认快照触发条件:

  • 1分钟改1万次
  • or 5分钟改10次
  • or 15分钟改1次

RDB 的优点:

(1)适合大规模数据恢复
(2)对数据完整性和一致性要求不高

RDB 的缺点:

(1) 丢失最后一次保存的数据
(2)本身数据集大,fork() 可能会非常耗时,造成服务器在某某毫秒内停止处理客户端

AOF (Append only log)

以日志的形式来记录每个操作,并在服务器启动时,通过重新执行这些命令来还原数据集。 最多丢失一秒数据。
redis.conf -> appendonly.aof

AOF 启动 : redis-server /../redis_aof.conf
AOF 修复 : redis-check-aof --fix appendonly.aof (网络故障等)

相关配置

No-appendfsync-on-rewrite no
auto-aof-rewrite-min-percentage 100
auto-aof-rewrite-min-size 64mb (默认)

Appendfsync

  • Always : 同步持久化,每次发生数据变更立即记录到硬盘,性能差,数据完整性好
  • Everysec : 默认配置。异步操作,每秒记录一次,有可能1秒数据丢失
  • No

Rewrite

  • AOF文件追加会越来越大,为避免这种情况,新增重写机制,当AOF文件大小超过设定阈值,Redis会启动AOF文件内容压缩,只保留恢复数据的最小指令集,可以使用bgrewriteaof
  • fork一条新进程 将整个内存钟数据库内容用命令的形式重写一个新的aof文件
  • 记录上一个重写AOF文件大小,默认配置是当AOF文件大小是上次rewrite后的一倍且文件大于64M时触发 redis.conf中(auto-aof-rewrite-min-percentage 100 auto-aof-rewrite-min-size 64mb)

AOF优点

(1)配置灵活:每秒同步,每修改同步,不同步

AOF缺点

(1)相同数据aof文件大于rdb
(2)AOF运行效率慢于rdb,不同步效率和rdb相同

参考博客:
官网
解析配置文件 redis.conf、Redis持久化RDB、Redis的主从复制

相关文章

  • Redis-2 数据持久化及持久化配置

    一、数据持久化 开启持久化功能后,重启redis,数据会自动通过持久化文件恢复!! 1、redis持久化 – 两种...

  • redis与memcache区别

    1、持久化 redis是支持持久化存储,宕机重启数据不会丢失,memcache重启后数据丢失 redis持久化的方...

  • 关于redis的几件小事(六)redis的持久化

    1.redis持久化的意义 redis持久化的意义,在于 故障恢复 。如果没有对数据进行持久化,那么如果redis...

  • Redis常见面试题

    Redis常见面试题 Redis持久化机制 Redis是一个支持持久化的内存数据库,通过持久化机制把内存中的数据同...

  • Redis 基本数据 持久化 2018-09-09

    基本数据类型以及操作 基本数据类型: string, hash, list, set, sort setTO DO...

  • Redis持久化

    Redis持久化 为什么要持久化 Redis是内存数据库,宕机后数据会消失。 Redis重启后快速恢复数据,要提供...

  • redis笔记(四)redis持久化

    redis持久化 Redis持久化机制:redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中...

  • 基于Redis5.0.2的总结随笔

    Redis支持数据持久化,众多数据结构存储,master-slave模式数据备份等多种功能。 Redis持久化 持...

  • Redis中的持久化

    之前有简单介绍过Redis的基本介绍,这里详细说下Redis的持久化机制 引言 Redis是内存数据库,数据全部在...

  • Redis与Memcached区别

    Redis优势 redis具有持久化机制,定期将内存中的数据持久化到硬盘。 redis具备binlog功能,所有操...

网友评论

      本文标题:Redis 基本数据 持久化 2018-09-09

      本文链接:https://www.haomeiwen.com/subject/xymdgftx.html