Docker下redis的主从.持久化配置 redis是k-v型nosql数据库,支持字符串(string).列表(list).集合(set).散列(hash).有序集合(zset:形如member:score的散列集合,其中member为成员,score为成员得分,必须为float型数据). 综合使用redis的以上5种数据类型,可以将redis应用于各种场景,比如点赞.投票网站.消息队列.分布式锁(使用setnx指令,该指令只有在key不存在的时候,才会执行写入操作).文件分发(没研究过).…
前言 因为Redis的数据都储存在内存中,当进程退出时,所有数据都将丢失.为了保证数据安全,Redis支持RDB和AOF两种持久化机制有效避免数据丢失问题.RDB可以看作在某一时刻Redis的快照(snapshot),非常适合灾难恢复.AOF则是写入操作的日志.本文主要讲解RDB.AOF和混合结合使用. 一.探索RDB RDB就像是一台给Redis内存数据存储拍照的照相机,生成快照保存到磁盘的过程.触发RDB持久化分为手动触发和自动触发.Redis重启读取RDB速度快,但是无法做到实时持久化,因…
AOF 日志 试想一下,如果 Redis 每执行一条写操作命令,就把该命令以追加的方式写入到一个文件里,然后重启 Redis 的时候,先去读取这个文件里的命令,并且执行它,这不就相当于恢复了缓存数据了吗? 这种保存写操作命令到日志的持久化方式,就是 Redis 里的 AOF(Append Only File) 持久化功能,注意只会记录写操作命令,读操作命令是不会被记录的,因为没意义. 在 Redis 中 AOF 持久化功能默认是不开启的,需要我们修改 redis.conf 配置文件中的以下参数:…
AOF持久化 除了RDB持久化功能之外,Redis还提供了AOF(Append Only File)持久化功能,与RDB持久化通过保存数据库中的键值对来记录数据库状态不同,AOF持久化是通过保存Redis服务器所执行的命令来记录数据库状态,如图1-1所示 图1-1   AOF持久化 举个栗子,如果我们对空白的数据库执行以下写命令,那么数据库中将包含三个键值对 127.0.0.1:6379> SET msg "hello" OK 127.0.0.1:6379> SADD fr…
把redis集群里的主机 恢复为独立的redis服务器(51-58) ]# redis-cli  -h 192.168.4.51 -p 6351 shutdown ]# rm -rf /var/lib/redis/6379/* ]# vim /etc/redis/6379.conf  (把与集群配置相关的 3项 注释) ]# /etc/init.d/redis_6379 start ]# netstat -utnlp  | grep redis-server   1. Redis主从复制 将主机…
一.环境及软件 OS soft version  CentOS 7.5   redis-4.0.12(目前是4.x最新) 二.下载及编译Redis [root@localhost ~]# wget http://download.redis.io/releases/redis-4.0.12.tar.gz [root@localhost ~]# tar xf redis-.tar.gz -C /usr/local/ [root@localhost ~]# cd /usr/local/ [root@…
上一篇文章,我们讲的是 Redis 的一种基于内存快照的持久化存储策略 RDB,本质上他就是让 redis fork 出一个子进程遍历我们所有数据库中的字典,进行磁盘文件的写入. 但其实这种方式是有缺点的,先不说阻塞式 save 调用会阻塞整个 redis 服务,即便异步式 bgsave 也是基于时间间隔,每多少秒触发了多少次更新操作才会生成 RDB 文件,那么如果某次 RDB 生成之后,紧接着服务宕机,就至少丢失几秒甚至更多的数据,并且这些数据是无法挽回的. 而 AOF 是 redis 中的另…
一.AOF持久化的配置 配置文件redis.conf,AOF持久化默认是关闭的,默认是打开RDB持久化 appendonly yes     二.工作流程: 打开AOF持久化机制之后,redis每次接收到一条写命令,就会写入日志文件中,当然是先写入os cache的,然后每隔一定时间再fsync一下 可以配置AOF的fsync策略,有三种策略可以选择, always: 每次写入一条数据,立即将这个数据对应的写日志fsync到磁盘上去,优点是保证数据都不会丢,但是性能非常非常差,吞吐量很低 eve…
一.RDB持久化的缺点创建RDB文件需要将服务器所有的数据库的数据都保存起来,这是一个非常耗费资源和时间的操作,所以服务器需要隔一段时间才能创建一个新的RDB文件,就也是说创建RDB文件的操作不能执行的过于频繁,否则就会严重地影响服务器的性能. 在 save 配置选项的默认设置下,即使有超过 10000 次修改操作发生,服务器也至少会间隔一分钟才创建下一个 RDB 文件: save save save 如果在等待创建下一个 RDB 文件的过程中,服务器遭遇了意外停机,那么用户将丢失最后一次创建R…
1. 事务描述 (1)什么是事务 事务,就是把一堆事情绑在一起,按顺序的执行,都成功了才算完成,否则恢复之前的样子 事务必须服从ACID原则,ACID原则分别是原子性(atomicity).一致性(consistency).隔离性(isolation)和持久性(durability) 原子性:操作这些指令时,要么全部执行成功,要么全部不执行.只要其中一个指令执行失败,所有的指令都执行失败,数据进行回滚,回到执行指令前的数据状态 一致性:事务的执行使数据从一个状态转换为另一个状态,但是对于整个数据…