數據是如何存儲的?
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