redis的持久化有两种方式:
1.snapshotting 快照持久化,快照持久化方式是以指定的时间间隔持久化,默认支持。缺点:可能数据不完整,因为redis已经说了,快照嘛,自然是有一定的保存周期,当redis挂掉了之后,那么在最后一次快照保存到redis挂掉这么一个时间段内的数据就没办法被保存下来。redis默认的快照是持久化到dump.rdb这个文件里面的。
配置快照保存周期的变量在redis.conf中:
save 900 1 #意思是900秒内1个key发生变化,则发起快照保存 save 300 10 save 60 10000 dbfilename dump.rdb dir ./ #存储快照文件dump.rdb的路径
2.aof 方式是以记录每一个操作到日志实现持久化,启动的时候加载 缺点:效率低。可以在配置文件redis.conf中配置开启aof持久化,redis默认并没有开启aof方式的持久化。aof即append only file.
appendonly yes #开启aof appendfilename appendonly.aof #aof方式持久化对应的文件名称 appendfsync everysec #每秒一次 另外还有always(只要redis执行更新操作就记录) no (依赖操作系统来持久化)
退出redis客户端时,可以使用shutdown save命令强制redis进行持久化操作。