您的位置:首页 > 数据库 > Redis

redis-[4]-redis持久化RDB和AOF

2017-07-01 23:42 573 查看

持久化方式

RDB:默认支持,指定时间间隔写磁盘

AOF:日志形成

无持久化

同时RDB和AOF

RDB

RDB:

只包含一个文件

高可用性差(指定时间间隔写磁盘)

配置:redis.conf 中 

save 900 1   含义: 900s 1个key 变化写入

save 300 10

save 60  10000

存盘文件和路径

dbfilename dump.rdb

dir ./

AOF

AOF:

修改时同步、每秒同步 、不同步

日志形式是append形成

文件要大,效率低于RDB

配置:redis.conf 中 

appendonly no 不产生AOF 改为yes 

# Please check http://redis.io/topics/persistence for more information.

appendonly yes

# The name of the append only file (default: "appendonly.aof")

appendfilename "appendonly.aof"

# appendfsync always  #修改时同步

appendfsync everysec  #每秒同步

# appendfsync no      #不同步

比如用以上配置保存redis.conf,重启redis

执行操作,比如加一些key 后 执行fushall清空

keys * 查看已清空

此时打开appendonly.aof 将日志中的flushall删除

重启重启redis
keys * 查看,已恢复

具体操作如下:

hjw$ cd redis
redis hjw$ ls
bin db  etc
redis hjw$ cd etc
etc hjw$ ls
redis.conf
//开启AOF
etc hjw$ vi redis.conf
etc hjw$ cd ..
redis hjw$   ./bin/redis-server ./etc/redis.conf
redis hjw$  ./bin/redis-cli
127.0.0.1:6379> set ky1 1
OK
127.0.0.1:6379> set ky2 2
OK
127.0.0.1:6379> keys *
1) "ky2"
2) "ky1"

127.0.0.1:6379> flushall
OK
127.0.0.1:6379> keys *
(empty list or set)
*2

127.0.0.1:6379> shutdown
not connected>
redis hjw$ ls
bin db  etc

redis hjw$ cd db

//可见生成appendonly.aof文件
hjw$ ls
appendonly.aof  dump.rdb
#这里去除flushall
hjw$ vi appendonly.aof
db hjw$ cd ..
redis hjw$ ls
bin db  etc

//重启
redis hjw$   ./bin/redis-server ./etc/redis.conf
redis hjw$ ./bin/redis-cli

//查看已恢复
127.0.0.1:6379> keys *
1) "ky2"
2) "ky1"
127.0.0.1:6379>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis