Redis持久化配置

持久化: 即把数据存储于断电后不会丢失的设备中,通常是硬盘.
常见的持久化方式: 主从:通过从服务器保存和持久化,如mongoDB的replication sets配置。
淘宝是主服务器往内存里面写,从服务器往硬盘里面写。mysql,oracle往磁盘写通过操作生成二进制日志,突然断电可以通过日志恢复数据。
couchDB无论增删改差都作用于文件上,文件本身就涵盖了日志信息。日志和文件结构是一体的。 Redis的持久化有2种方式 1.rdb快照持久化 2.Aof日志 rdb的工作原理:
redis的数据是在内存里面,直接把内存的数据以快照(内存的映像文件)的方式,数据结构都搬过来,直接往内存中搬。
每隔N分钟或N次写操作后, 从内存dump数据形成rdb文件,压缩,放在备份目录 Rdb快照的配置选项conf文件: //从下向上看
save 900 1 // 900秒内,有1条写入,则产生快照
save 300 1000 // 如果300秒内有1000次写入,则产生快照
save 60 10000 // 如果60秒内有10000次写入,则产生快照
(这3个选项都屏蔽,则rdb禁用,不导出了) stop-writes-on-bgsave-error yes // 后台备份进程出错时,主进程停不停止写入?
rdbcompression yes // 导出的rdb文件是否压缩(文件太大了)
Rdbchecksum yes // 导入rbd恢复时数据时,要不要检验rdb的完整性
Dbfilename dump.rdb //导出来的rdb文件名
Dir ./ //rdb的放置路径 rdb的优势:恢复速度非常快。
rdb的缺陷:在2个保存点之间,断电,将会丢失1-N分钟的数据(数据还在redis的内存中还没有持久化)。
出于对持久化的更精细要求,redis增添了aof方式 append only file(追加文件持久化)
Aof 的配置(aof和rdb可以同时存在)
把执行的每条命令写文本文件中去,每执行一个命令就往文件去写速度就慢下来了, appendonly no # 是否打开 aof日志功能 appendfsync always # 每1个命令,都立即同步到aof. 安全,速度慢
appendfsync everysec # 折衷方案,每秒写1次
appendfsync no # 写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof. 同步频率低,速度快,操作系统也有缓冲4k大小。
appendfilename ./appendonly.aof //文件目录 no-appendfsync-on-rewrite yes: # 正在导出rdb快照的过程中,要不要停止aof的同步
auto-aof-rewrite-percentage 100 #aof文件大小比起上次重写时的大小,增长率100%时,重写
auto-aof-rewrite-min-size 64mb #aof文件,至少超过64M时重写,否则刚开始时候很容易达到100% 注: 在dump rdb过程中,aof如果停止同步,会不会丢失?
答: 不会,所有的操作缓存在内存的队列里, dump完成后,统一操作. 注: aof重写是指什么?
aof重写是指把内存中的数据,逆化成命令,写入到.aof日志里,以解决 aof日志过大的问题。
比如重复修改同一个key,修改了100次,则存了100次,恢复的时候也要恢复100次。 aof重写是对同一个key的多次操作只记录最后的结果。 问: 如果rdb文件,和aof文件都存在,优先用谁来恢复数据?
答: aof。Rdb的恢复速度快因为是数据的内存映射,aof要逐条来执行。 问: 2种是否可以同时用?
答: 可以,而且推荐这么做 问: 恢复时rdb和aof哪个恢复的快
答: rdb快,因为其是数据的内存映射,直接载入到内存,而aof是命令,需要逐条执行
redis 服务器端命令
redis 127.0.0.1:6380> time ,显示服务器时间 , 时间戳(秒), 微秒数
1) "1375270361"
2) "504511" redis 127.0.0.1:6380> dbsize // 当前数据库的key的数量
(integer) 2
redis 127.0.0.1:6380> select 2
OK
redis 127.0.0.1:6380[]> dbsize
(integer) 0
redis 127.0.0.1:6380[]> BGREWRITEAOF 后台进程重写AOF
BGSAVE 后台保存rdb快照
SAVE 保存rdb快照
LASTSAVE 上次保存时间 Slaveof master-Host port , 把当前实例设为master的slave Flushall 清空所有库所有键
Flushdb 清空当前库所有键
Showdown [save/nosave] 注: 如果不小心运行了flushall, 立即 shutdown nosave ,关闭服务器
然后 手工编辑aof文件, 去掉文件中的 “flushall ”相关行, 然后开启服务器,就可以导入回原来数据. 如果,flushall之后,系统恰好bgrewriteaof了,那么aof就清空了,数据丢失.

把rdb和aof的配置注释掉之后就不会进行持久化操作,那么重启redis之后之前插入的数据就没有了。所以是内存数据库。

redis07-----Redis持久化配置的更多相关文章

  1. redis之 Redis持久化配置

    Redis持久化配置 Redis的持久化有2种方式   1快照  2是日志 Rdb快照的配置选项 save 900 1      // 900内,有1条写入,则产生快照 save 300 1000   ...

  2. apscheduler(定时任务) 基于redis持久化配置操作

    apscheduler(定时任务) 基于redis持久化配置操作 安装模块 pip install apscheduler 导入模块配置 ## 配置redis模块 from apscheduler.j ...

  3. 五、Redis持久化配置

    转载:[https://www.cnblogs.com/xingzc/p/5988080.html] Redis提供的持久化机制(RDB和AOF) Redis提供的持久化机制 Redis是一种面向“k ...

  4. docker+redis 持久化配置(AOF)

    RDB持久化与AOF持久化简单描述 RDB:RDB使用快照的方式存储数据库中的内容,直接将所有键值对数据全部存入二进制文件.建议使用BGSAVE来进行备份,整个过程会新fork一个子进程来执行,不影响 ...

  5. redis持久化配置

    redis有rdb和aof两种持久化方式: rdb 默认方式,配置文件中相关的有: save 900 1 #900秒一次,若有1个或以上key修改则save一次,以下相同 save 300 10 sa ...

  6. Redis持久化配置-AOF

    redis的持久化有rdb和aof两种. rdb是记录一段时间内的操作,一般的配置是一段时间内操作超过多少次就持久化.aof可以实现每次操作都持久化. 这里我们使用aof. 配置方式,打开redis的 ...

  7. Redis搭建(六):Redis持久化配置

    一.介绍 Redis的持久化有2种方式: Rdb快照 Aof日志 1. Rdb快照的配置选项 save 900 1 // 900内,有1条写入,则产生快照 save 300 1000 // 如果300 ...

  8. Redis 持久化配置(兼论瞎翻译的问题)

    redis.conf 文件中配置 save 默认配置项: save save save 查了好几个地方都是这么说的: 第一句的意思:15分钟内修改了一个键就保存??? 往 Redis 里加了一个值,重 ...

  9. redis RDB快照和AOF日志持久化配置

    Redis持久化配置 Redis的持久化有2种方式   1快照  2是日志 Rdb快照的配置选项: save 900 1      // 900内,有1条写入,则产生快照 save 300 1000 ...

  10. redis——持久化篇

    众所周知,redis是内存数据库,它把数据存储在内存中,这样在加快读取速度的同时也对数据安全性产生了新的问题,即当redis所在服务器发生宕机后,redis数据库里的所有数据将会全部丢失. 为了解决这 ...

随机推荐

  1. BZOJ1925 [Sdoi2010]地精部落 【dp】

    题目 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi,其中Hi是1到N ...

  2. 算法复习——迭代加深搜索(骑士精神bzoj1085)

    题目: Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位.在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相 ...

  3. 【基础操作】FFT / DWT / NTT / FWT 详解

    1. 2. 点值表示法 假设两个多项式相乘后得到的多项式 的次数(最高次项的幂数)为 $n$.(这个很好求,两个多项式的最高次项的幂数相加就得到了) 对于每个点,要用 $O(n)$ 的时间 把 $x$ ...

  4. spring DelegatingFilterProxy的原理及运用

    DelegatingFilterProxy的原理及使用 DelegatingFilterProxy就是一个对于servlet filter的代理,用这个类的好处主要是通过Spring容器来管理serv ...

  5. Laravel 之Auth用户认证

    (1)生成Auth所需文件 打开phpstorm的命令行: php artisan make:auth 生成成功后,打开web.php, 发现多了如下代码: Auth::routes(); Route ...

  6. android 禁止ViewPager滑动

    最近项目中,有个需求就是要禁止ViewPager滑动事件,我们看下360手机助手的界面,风格就类似这样的 大家如果使用过360手机助手就会发现中间内容是不可以滑动的,现在写一个demo,讲下怎么禁止V ...

  7. android开启线程,异步处理数据实例

    package com.example.sywang2; import com.zds.os.R; import android.os.Bundle; import android.os.Handle ...

  8. 通过css将元素固定在左下角

    position:fixed; bottom:0; left:0;

  9. 【深入Java虚拟机】之三:类初始化

    类初始化是类加载过程的最后一个阶段,到初始化阶段,才真正开始执行类中的Java程序代码.虚拟机规范严格规定了有且只有四种情况必须立即对类进行初始化: 遇到new.getstatic.putstatic ...

  10. 迈出从3K到1W的重要一步——掌握设计模式

    IT职场的小菜经常有这样的疑问: 为什么一个相似的功能,大牛一会儿就搞定,然后悠闲地品着下午茶逛淘宝:而自己加班加点搞到天亮还做不完. 为什么用户提出需求变更后,大牛只需潇洒地敲敲键盘,改改配置:而自 ...