`

Redis高级使用特性之持久化机制详解及相关设置

 
阅读更多

Redis服务器持久化机制详解及相关设置

 

下面切入正题咯:

 

 常用服务器命令总结(自用总结 不喜勿喷):

Redis将内存中数据同步到硬盘来保证持久化机制的实现。这也是相比于memcache来说,好的地方。

Redis支持的两种持久化方式snapshotting快照方式以及Append-only file(aof)方式,快照方式也是默认方式。

aof方式的理解:

aof是将RUD操作也就是增删改操作写到一个文件中。(文件中只是存的操作)。

redis会将每一个收到的写命令通过write函数追加到文件中,当redis重启时通过重新执行aof文件的各种写命令来在内存中还原重建整个数据库的内容。

aof具体设置例子:

介于操作系统在内核中缓存write函数所做的修改,所以可能不是立即写到磁盘上。

这样有可能aof方式的持久化不会被得到百分之百的执行,也就是说有可能会造成数据的部分丢失。

aof具体配置:

append only yes                //启用aof 持久化方式,redis默认启用的是快照方式,此处缺省的值是no。

#appendfsync always       //收到命令立即写入磁盘,能够保证完全的持久化,但使得整体性能较差。

#appendfsync no              //完全依赖于os操作系统内核,性能高效,但由于os的缓存,持久化有可能没有保证喔~

appendfsynv everysec     //每秒钟写入磁盘一次,相比于其他两种方式,这种方式在性能和持久化方面做到了很好的折中。

 

但是,想到个问题...提一下,如果对某一个key执行了很多次操作,这时aof方式应该会将历史操作都会写入到文件中,这样我觉得有点不合理,应该只写入同一个键的最后一次操作才对。希望Redis团队可以改进!(这个也许是我想多了,大家忽略吧。。。)

 

snapshotting快照方式的理解:

snapshotting是将整个数据写入一个二进制文件。(文件中是整个数据库中的数据)。具体方法是将内存中的数据以快照的方式写入二进制文件中,默认文件名位dump.rdb。

snapshotting更改快照的方式:

可通过配置redis的配置文件来配置,我们可以配置redis在n秒内如果超过了m个key操作那么就自动做一次快照。

snapshotting具体配置例子:(这几个配置可以同时设置的喔~楼主亲测有效!)

save 1000 10 #如果1000秒内超过10个key被修改,那么发起一次快照保存操作

save 500 30 #如果500秒内超过30个key被修改,那么发起一次快照保存操作

save 10 2 #如果10秒内超过2个key被修改,那么发起一次快照保存操作

分享到:
评论

相关推荐

    Redis持久化策略详解

    Redis持久化策略详解

    02-Redis持久化、主从与哨兵架构详解.zip

    02-Redis持久化、主从与哨兵架构详解.zip

    02-Redis持久化、主从与哨兵架构详解-ev.rar

    02-Redis持久化、主从与哨兵架构详解02-Redis持久化、主从与哨兵架构详解02-Redis持久化、主从与哨兵架构详解02-Redis持久化、主从与哨兵架构详解02-Redis持久化、主从与哨兵架构详解02-Redis持久化、主从与哨兵架构...

    Redis持久化、主从与哨兵架构详解(1)

    Redis持久化、主从与哨兵架构详解(1)

    Redis持久化、主从与哨兵架构详解.pdf

    主要介绍Redis持久化、主从与哨兵架构详解,详细具体,可操作性好!

    Redis教程(十):持久化详解

    一、Redis提供了哪些持久化机制:  1). RDB持久化:  该机制是指在指定的时间间隔内将内存中的数据集快照写入磁盘。   2). AOF持久化:  该机制将以日志的形式记录服务器所处理的每一个写操作,在Redis服务器...

    Redis持久化、主从与哨兵架构详解开发文档

    Redis持久化 RDB快照(snapshot) 在默认情况下, Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。 你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存...

    Redis的持久化方案详解

    Redis支持RDB与AOF两种持久化机制,持久化可以避免因进程异常退出或down机导致的数据丢失问题,在下次重启时能利用之前的持久化文件实现数据恢复。 RDB持久化 RDB持久化即通过创建快照(压缩的二进制文件)的方式...

    Redis两种持久化方案RDB和AOF详解

    本文主要针对Redis 有两种持久化方案RDB和AOF做了详细的分析,希望我们整理的内容能够帮助大家对这个两种方案有更加深入的理解。 Redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。如果...

    docker下的 redis 之持久化存储详解

    本章节开始 我们在docker下 进行 spring Boot项目操作redis 准备工作: (1) 创建文件夹:usr/local/work/share (2) 拉取项目,这是一个打包好的jar包 (3) 将拉取的 jar包放到刚刚创建的文件夹下,同时再创建一个名字为 ...

    Redis 部署安装 常见redis 4中部署详解

    Redis的四种常见使用方式 1. redis单副本 2. 主从复制 3. redis Sentinel(哨兵) 4. redis 集群部署 Redis安装及客户端连接 1. Redis 安装 2. Redis 客户端连接及测试 Redis 持久化数据 1. RDB数据持久化...

    Redis持久化RDB和AOF区别详解

    RDB是Redis内存到硬盘的快照,用于redis持久化,创建RDB二进制文件,将存储在内存中的数据,持久化的放到硬盘中,当我们需要这些数据的时候,启动载入RDB文件,数据将会被存入内存中,其实RDB就是一种快照的方式持久...

    Redis面试必备知识点:使用场景及应用示例详解

    它的优势在于快速读写数据、支持丰富的数据结构和持久化等特性。在面试中,Redis也是一个常见的考点,因此了解Redis的使用场景及常用应用示例是必要的。 首先,Redis的使用场景主要包括缓存、数据共享等方面。在缓存...

    Linux下redis的持久化、主从同步与哨兵详解

    1.0 redis持久化 Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了两种持久化的方案,将内存中的数据保存到磁盘中,避免数据的丢失。 1|1RDB持久化 redis提供...

    Redis安装配置详解.pdf

    Redis是一个开源的使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(string)、哈希(Hash)、列表...

    Redis总结.xmind

    Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), ...

    Go语言开发中redis的使用详解

    Redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。 Redis 优势 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。 丰富的数据类型 – Redis支持二进制...

    CentOS系统安装Redis及Redis的PHP扩展详解

    redis是一款很不错的高性能的key-value数据库,它的出现在很大程度上弥补了很多像memcached这类的keyvalue存储的不足,它的特点有:支持持久化、半持久化数据保存、支持主从同步、value值支持多种类型等等。...

Global site tag (gtag.js) - Google Analytics