一.持久化:

快照文件RDB

保存“开始”创建新快照一刻的内存快照,创建过程的内存变化不会被记录

创建快照的办法有几种

1.客户端可以通过想Redis发送BGSAVE来创建一个快照,redis会调用fork来创建一个子进程,然后子进程负责将快照写入硬盘,而父进程则继续处理命令请求

2.客户端想redis发送SAVE命令创建快照,接到SAVE命令的Redis服务器在快照创建完毕之前将不再响应任何其他命令。

3.save 60 10000,当60秒内有10000次写入,redis就会自动触发BGSAVE命令

4.SHUTDOWN请求时,会执行SAVE命令

5.当一个Redis服务器连接另一个Redis服务器,并向对方发送SYNC命令来开始一次复制操作的时候,如果主服务器目前没有在执行BGSAVE操作,或者主服务器并非刚刚执行完BGSAVE操作,那么主服务器就会执行BGSAVE

适用于丢失一部分数据也不会造成问题的应用程序,或者有办法恢复的场景

问题:

当内存很大时,fork子进程(同步?为什么不用线程),会导致系统长时间停顿,根据机器性能每1G增加10~20毫秒或200~300毫秒,如果占用了20GB,标准硬件上上运行BGSAVE所创建的子进程将导致Redis停顿200~400毫秒,在一台拥有68GB内存的Xen虚拟机上对一个占用50GB内存的redis服务器执行BGSAVE命令的话,光是创建子进程就需要花费15秒以上,而生成快照则需要花费15~20分钟。

AOF

写命令追加到AOF文件的末尾。always,everysec,no

问题:

aof文件的体积大小。BGREWRITEAOF命令通过移除AOF文件的冗余命令来重写AOF文件,使AOF文件的体积变得尽可能小。BGREWRITEAOF与BGSAVE相似,redis会创建一个子进程,然后由子进程负责对AOF文件进行重写,所以还是会发生页表等进程资源copy给子进程时带来的消耗

auto-aof-rewrite-percentage 100和auto-aof-rewrite-min-size 64mb当aof文件的体积大于64MB,并且AOF文件的体积比上一次重写之后的体积大了至少一倍(100%)的时候,redis将执行BGREWRITEAOF命令。

二.复制

slaveof host port    从服务器在进行同步时,会清空自己的所有数据。 不支持主主复制。

主服务器执行BGSAVE时会使用缓冲区记录被执行的写命令,待快照文件发送完毕,开始向从服务器发送存储在缓冲区里的写命令。

三.事务

watch multi exec

四.流水线

multi exec

当Redis从一个客户端那里收到你multi命令时,redis会将这个客户端之后发送的所有命令都放入到一个队列里面,直到这个客户端发送EXEC命令为止。然后redis就会在不被打断的情况下,一个接一个的执行存储在队列里面的命令。

2.验证dubbo。router层 集群容错负载均衡

3.Spring技术内幕

redis-cli 持久化,复制,哨兵,事务,流水线的更多相关文章

  1. Redis事务,持久化,哨兵机制

    1 Redis事务 基本事务指令 Redis提供了一定的事务支持,可以保证一组操作原子执行不被打断,但是如果执行中出现错误,事务不能回滚,Redis未提供回滚支持. multi 开启事务 exec 执 ...

  2. redis的持久化 与事务管理

    1. redis的持久化 Redis的持久化主要分为两部分:RDB(Redis DataBase), AOF(Append Only File) 2. 什么是redis 的持久化        在指定 ...

  3. 解密Redis的持久化和主从复制机制

    Redis持久化 Redis 提供了多种不同级别的持久化方式: RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AOF 持久化记录服务器执 ...

  4. java架构之路-(Redis专题)Redis的主从、哨兵和集群

    我们使用的redis,单机的绝对做不到高可用的,万一单机的redis宕机了,就没有备用的了,我们可以采用集群的方式来保证我们的高可用操作. 主从架构 大致就是这样的,一个主节点,两个从节点(一般两个就 ...

  5. redis + 主从 + 持久化 + 分片 + 集群 + spring集成

    Redis是一个基于内存的数据库,其不仅读写速度快,每秒可以执行大约110000的写操作,81000的读取操作,而且其支持存储字符串,哈希结构,链表,集合丰富的数据类型.所以得到很多开发者的青睐.加之 ...

  6. 关于redis的主从、哨兵、集群

    关于redis主从.哨兵.集群的介绍网上很多,这里就不赘述了. 一.主从 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重 ...

  7. Redis搭建多台哨兵

    搭建多台哨兵 完成spring管理多台哨兵 学习redis如何数据持久化如何管理内存 Redis集群搭建 集群测试 Spring管理集群 2 搭建多台哨兵 2.1 搭建步骤 2.1.1 修改6379哨 ...

  8. Redis高可用之哨兵模式Sentinel配置与启动(五)

    0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...

  9. Redis实战——redis主从备份和哨兵模式实践

    借鉴:http://redis.majunwei.com/topics/sentinel.html     https://blog.csdn.net/u011784767/article/detai ...

  10. redis之 主从复制和哨兵

    一.Redis主从复制 主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步到从节点保证数据的一致性 1. 主从复制的相关操作 a,配置主从复制方式一.新增redis6380.conf, ...

随机推荐

  1. java POI Excel 单元格样式

    正如Html需要CSS一样,我们的POI生成的Excel同样需要样式才能更完美的表现我们的数据.下面还是从简单的例子出发,学习和了解POI的样式设计. 一.我的位置. 1 package com.my ...

  2. U138097 小鱼吃大鱼 埃氏筛

    题目描述 小P同学在养殖一种非常凶狠的鱼,而且与其他鱼类不同,这种鱼越大越温顺,反而小鱼最凶残.当两条鱼相遇时, 小鱼会不断撕咬大鱼,每一口都咬下与它自身等重的肉(小鱼保持体重不变),直到大鱼的体重小 ...

  3. ASP.NET Core Authentication系列(三)Cookie选项

    前言 在本系列第一篇文章介绍了ASP.NET时代如何认证,并且介绍了如何通过web.config文件来配置Auth Cookie的选项. 第二篇文章介绍了如何使用Cookie认证,本文介绍几个常见的C ...

  4. Masking Personal Information

    Masking Personal Information We are given a personal information string S, which may represent eithe ...

  5. 请纠正这5个PHP编码小陋习

    在做过大量的代码审查后,我经常看到一些重复的错误,以下是纠正这些错误的方法. 在循环之前测试数组是否为空 $items = []; // ... if (count($items) > 0) { ...

  6. java里split(" {1,}")什么意思啊?

    将字符串按照括号内的内容分割成字符数组这里括号内是正则表达式,X{m,n}代表X至少重复m次,至多重复n次这里空格至少重复1次,就是将字符串以一个或多个空格分割如"1 2 ab c" ...

  7. tcpack--3快速确认模式

    接收到数据报后,会调用tcp_event_data_recv(),不管是在慢速路径的tcp_data_queue中调用还是 在快速路径中处理接收数据后直接调用,注意(如果len <= tcp_h ...

  8. Socket 套接字的系统调用

    socket 结构 /** * struct socket - general BSD socket * @state: socket state (%SS_CONNECTED, etc) * @ty ...

  9. redis重点ppt

  10. TIP/Collision-Free Video Synopsis Incorporating Object Speed and Size Changes Code

    代码地址  https://github.com/scutlzk/Collision-Free-Video-Synopsis-Incorporating-Object-Speed-and-Size-C ...