数据是如何存储的?
Redis 中是把数据保存到内存中的,但是它也会定期的把数据写会到硬盘中。
Redis保存数据有两种方式
- 快照模式(Snapshot)
- 定时快照,即按一定时间将内存中的数据保存到磁盘上。
- 定量快照,即数据变化一定次数后将数据保存到磁盘上。
你也可以结合这两种方式,比如变化 1000 次,距离上次保存时间 60 秒以上才保存数据。
- 写模式(Append Only File)。这种模式下Redis会把所以修改数据的命令(如Update,Set)等保存到一个只能追加的ASAP文件中,当Redis重启时,它会把这个文件里的命令重新执行一遍。
数据保存到哪里
数据是保存到一个数据文件中的,具体文件名要看 Redis 的配置文件,即 redis.conf,默认就在 redis 的安装目录下。
config get dbfilename // 返回 dump.rdb
可以使用 config set dbfilename new
(修改你要保存数据的文件)
数据如何到导出?
Redis 写数据时先写到一个 temp 文件中,然后再把 temp 文件重命名为预定义的文件,所以即使 Redis 在运行,也可以直接用 cp 命令拷贝这个文件。
cp /usr/loca/redis/demo.rdb /home/greenerycn/db/demo.rdb