redis关闭后数据还在!
[root@localhost redis-3.2.8]# redis-cli -p 6379 shutdown
[root@localhost redis-3.2.8]# redis-server redis.conf
[root@localhost redis-3.2.8]# redis-cli
127.0.0.1:6379> keys *
1) "ITEM_CAT_0"
2) "ITEM_CAT_1"
1.1策略说明
redis作为内存数据库需要保存大量的用户的数据,但是redis中的数据保存到内存中。断点/宕机。肯定会导致内存数据丢失。为了防止数据丢失采用数据持久化方式,实现内存数据的备份。
当redis中内存有数据时,通过自身策略有两种方式,一种是RDB模式,另一种是AOF模式。根据各自自身模式的设定进行数据的持久化。
RDB或者AOF都有各自的持久化文件。
当redis重启时,会根据配置文件中指定的持久化文件的名称,加载持久化文件,恢复内存数据。
1.2RDB模式
特点说明:RD模式定期将内存中的数据持久化。如果用户允许丢失少量的数据,则首选RDB模式,因为RDB模式定期为内存做快照,该方式的备份的速度是很快的。
[root@localhost redis-3.2.8]# cat dump.rdb
REDIS0007 redis-ver3.2.8
þdis-bits㨭eä@.used-mem�/
ITEM_CAT_1ߟ[{"id":2,"text":"电子书刊","�state closed"},/7³像�11
±文原版8-�艺�24°儿�30人 X社科4�
经管励志5活5 �技9育6.港台图!Ƞ�07其它
*]
ITEM_CAT_0ᅢß[{"id":1,"text":"图书、音像电子 �
刊","state closed"},A�74�®¶用@6�¨�16 +�脑 k办公�249
理¸ª护化妆�90钟袠��296¯婴�378
£品饮料 Ť¿健��43汽车!4 F�9玩具乐�55�机�58�数硠��633ǡ냥± �装�69�厨 »7
服饰内衣�86�鞋鞡�¸�90�礼!q�箱占�»�96� 宝�103运动"
�廠�쁱147�½©票"D�.充值 ��务
z]ÿ薊
备份的命令
说明:要在客户端执行命令
手动备份save
会造成线程阻塞。只有当备份操作完成时才允许执行redis更新
[root@localhost redis-3.2.8]# rm dump.rdb
rm: remove regular file `dump.rdb'? y
[root@localhost redis-3.2.8]# redis-cli
127.0.0.1:6379> save
OK
127.0.0.1:6379> quit
[root@localhost redis-3.2.8]# ls
00-RELEASENOTES COPYING INSTALL README.md runtest-cluster src
BUGS deps Makefile redis.conf runtest-sentinel tests
CONTRIBUTING dump.rdb MANIFESTO runtest sentinel.conf utils
bgsave表示后台运行,不会造成线程阻塞
[root@localhost redis-3.2.8]# rm dump.rdb
rm: remove regular file `dump.rdb'? y
[root@localhost redis-3.2.8]# redis-cli
127.0.0.1:6379> bgsave
Background saving started
127.0.0.1:6379> quit
[root@localhost redis-3.2.8]# ls
00-RELEASENOTES COPYING INSTALL README.md runtest-cluster src
BUGS deps Makefile redis.conf runtest-sentinel tests
CONTRIBUTING dump.rdb MANIFESTO runtest sentinel.conf utils
redis.conf
save 900 1
save 300 10
save 60 10000
在900秒内,redis做一次更新操作,则备份一次
在300秒内,redis做10次更新操作,则备份一次
在60秒内,redis做10000次更新操作,则备份一次
操作越快备份周期越短
dbfilename dump.rdb
持久化文件名
dir ./
持久化文件路径 ./表示当前文件夹,建议用绝对路径
1.3AOF模式
说明:aof可以做到实时数据备份。该模式相当于配置文件记录了用户的全部操作过程。
开启aof模式后,rdb模式不生效
该操作的特点:
1.可以实时数据备份,安全性更好
2.持久化速度较RDB慢
3.AOF持久化的体积会很大
4.当数据恢复时需要消耗很长的时间
5.持久化文件明文保存,没有加密
redis.conf
appendonly yes开启aof模式
持久化文件的名称appendonly.aof
appendonly yes
# The name of the append only file (default: "appendonly.aof")
appendfilename "appendonly.aof"
# appendfsync always
appendfsync everysec
# appendfsync no
appendfsync always 每次操作都会备份
appendfsync everysec 每秒备份一次
appendfsync no 不操作
[root@localhost redis-3.2.8]# ls
00-RELEASENOTES COPYING INSTALL README.md runtest sentinel.conf utils
BUGS deps Makefile redis.conf runtest-cluster src
CONTRIBUTING dump.rdb MANIFESTO redis.conf~ runtest-sentinel tests
[root@localhost redis-3.2.8]# rm dump.rdb
rm: remove regular file `dump.rdb'? y
[root@localhost redis-3.2.8]# ls
00-RELEASENOTES COPYING Makefile redis.conf runtest-cluster src
BUGS deps MANIFESTO redis.conf~ runtest-sentinel tests
CONTRIBUTING INSTALL README.md runtest sentinel.conf utils
[root@localhost redis-3.2.8]# redis-cli shutdown
[root@localhost redis-3.2.8]# redis-server redis.conf
[root@localhost redis-3.2.8]# ls
00-RELEASENOTES CONTRIBUTING dump.rdb MANIFESTO redis.conf~ runtest-sentinel tests
appendonly.aof COPYING INSTALL README.md runtest sentinel.conf utils
BUGS deps Makefile redis.conf runtest-cluster src
aof模式持久化为文件的保存路径仍然为 dir ./
网友评论