A:Redis的高性能是因为其使用了内存来储存数据,而RAM有易失性,所以在服务器宕机或断电后会导致Redis储存在其中的数据丢失。Redis也提供了持久化数据的方案。
A:因为Redis已默认启用了一种持久化方案。
(conf文件里对应的配置部分有着对应的参数解释)
优点:
备份里只包含一个文件,便于备份的归档管理节省磁盘空间数据库恢复速度快缺点:
数据完整性问题(系统有可能在进行持久化前发生宕机)速度下降问题(数据量过大时可能导致服务器停顿)如何启用:
打开redis的conf文件 windows下为redis.windows.confLinux下为redis.conf 找到SNAPSHOTTING下的 # like in the following ... # ... # save "" save 900 1 (900秒内至少有1条key发生变化,就写一次快照,下二同理) save 300 10 save 60 10000优点:
备份机制更为安全可读性高的日志文件,便于恢复,处理错误等缺点:
相比RDB的方式对磁盘的开销更大备份速度较慢(备份频率相对更高,也更安全)如何启用:
打开redis的conf文件
windows下为redis.windows.confLinux下为redis.conf 找到APPEND ONLY MODE下的 # AOF and RDB ... # ... # Please ... appendonly no (AOF默认未启用,要使用则将no改为yes) # The name ... appendfilename "appendonly.aof" (这是AOF产生的日志文件的文件名) (与redis-server.exe等文件存于同一个目录下) # The fsyn() call ... # ... # If unsure ... # appendfsync always(每次更新同步更新日志) appendfsync everysec(默认给你选这个) # appendfsync no(不同步) (要打开哪个就去掉之前的#号) # Specify a percentage of zero in order to disable the automatic AOF # rewrite feature. auto-aof-rewrite-percentage 100 (超出了这个百分比就重写) auto-aof-rewrite-min-size 64mb (重写出的文件不应小于64mb,和上面的条件共同控制是否进行rewrite这个操作)官方的文档:Redis Persistence
参考的博客:介绍Redis的各种用途以及使用场景