一、Redis简单介绍
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
Redis其中一个特点是支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。也是今天的重点。
二、Redis的持久化
Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(半持久化模式);也可以把每一次数据变化都写入到一个append only file(aof)里面(全持久化模式)。
由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。redis提供两种方式进行持久化:
- 一种是RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(通俗讲是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化)。
- 另一种是AOF 持久化记录服务器执行的所有写操作命令