数据是如何存储的?

Redis中是把数据保存到内存中的,但是它也会定期的把数据写会到硬盘中。

Redis保存数据有两种方式:

快照模式(Snapshot)

    它支持两种快照模式:

    1.定时快照,即按一定时间将内存中的数据保存到磁盘上。

    2.定量快照,即数据变化一定次数后将数据保存到磁盘上。

    你也可以结合这两种方式,比如变化1000次,距离上次保存时间60秒以上才保存数据。

写模式(Append Only File)

   这种模式下Redis会把所以修改数据的命令(如Update,Set)等保存到一个只能追加的ASAP文件中,当Redis重启时,它会把这个文件里的命令重新执行一遍。

 

数据保存到哪里?

数据是保存到一个数据文件中的,具体文件名要看Redis的配置文件,即Redis.conf

这里以安装到/usr/local/redis为例,配置文件在/usr/local/redis/redis.conf

dbfilename  demo.rdb

看到没,就是这个demo.rdb文件。

 

数据如何到导出?

Redis写数据时先写到一个temp文件中,然后再把temp文件重命名为预定义的文件,所以即使Redis在运行,也可以直接用cp命令拷贝这个文件。

cp /usr/loca/redis/demo.rdb  /home/greenerycn/db/demo.rdb

 

数据如何恢复?

关闭Redis后直接覆盖掉demo.rdb,然后重启即可。