redis持久化机制:
**RDB持久化:**单独创建一个与当前进程一模一样的子进程来进行持久化,会先将数据写入一个临时文件中,等到持久化再用这个临时文件替换上次持久化的文件,整个过程中主进程不进行io操作,确保了及其高的性能。默认为开启状态,注释配置文件save…配置来关闭rdb持久化,主从复制集群状态关不掉。
**AOF持久化:**配置文件中指定appendonly 值,可以有三种值,no表示等操作系统进行数据缓存到磁盘(快,持久化没保证),always表示同步持久化,每次数据发生变更时会立刻记录到磁盘中(慢,影响性能,安全),everysec表示每一秒同步一次(默认值,很快,但可能丢失一秒内的数据),数据量达到一定的大小就会自动开启重写。
**开始混合持久化模式:**开启时,子进程将共享出的内存副本全量以rdb方式写入aof文件,然后将缓冲区的增量以aof方式写入到文件
,并将新的含有rdb和aof格式的文件替换旧的,简单说就是前段是rdb的全量数据后半段是aof的增量数据。结合起来极大的减少了数据的丢失,缺点是不兼容4.0之前版本的数据。
集群:
哨兵模式:哨兵主要就是启动哨兵节点,对主节点进行监控,如果半数以上发现ping主节点不通了就会认为它挂了,则进行故障转移,选择一个从节点代替主节点。
**redis特点:**半支持事务,提供了一些在一定程度上支持线程安全和事务的命令。