数据是如何存储的?
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,然后重启即可。