Redis 的数据是如何存储的

数据是如何存储的?

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

参考

Redis 是如何存储的

posted @ 2020-04-30 17:59  Ever-Lose  阅读(7560)  评论(0编辑  收藏  举报