Redis 是如何存储的

Posted 俊龍

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis 是如何存储的相关的知识,希望对你有一定的参考价值。

数据是如何存储的?、

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

Redis保存数据有两种方式:

  1. 快照模式(Snapshot)

        它支持两种快照模式:

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

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

  2. 写模式(Append Only File

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

数据保存到哪里?

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

          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 是如何存储的的主要内容,如果未能解决你的问题,请参考以下文章

Java如何获取Redis中存储的大量内容?

Redis 是如何存储的

redis 存储中文,是怎么编码

redis存储对象大小2m

如何使Redis存储库成为事务性的

如何在Redis通过StackExchange.Redis 存储集合类型List