用Redis做缓存,速度是真快,但有个坑:默认不持久化,一重启内存里的数据全没了。小编踩过这个坑,缓存一清,网站瞬间卡。Redis持久化就是给内存数据落盘保底,重启也能找回来。RDB和AOF两种方式,这篇把配置和取舍讲清楚。
缓存数据要稳,主机也得靠谱,这两家海外云服务器稳定性不错:BudgetVM(海外服务器)、云途(云主机)。

Redis有两种持久化:RDB快照和AOF追加日志。RDB是定期把内存数据存成快照文件,恢复快,但可能丢最近几分钟数据。AOF是记录每次写操作,恢复完整,但文件大、恢复慢。两种能同时开,各取所长。理解区别才能选对。

RDB用save参数控制触发,比如save 900 1是900秒内有1次写就存快照。可以配多条规则,频率按数据重要性定。文件默认dump.rdb,dir指定存哪。RDB适合数据变化不特别频繁、能接受小丢失的场景。

AOF把每次写操作追加进日志文件。appendonly yes开启,appendfsync everysec每秒落盘是折中(默认)。AOF文件会越来越大,用bgrewriteaof重写瘦身。AOF恢复完整,适合重要缓存。文件别丢,丢了数据就难恢复。

生产环境建议RDB和AOF都开:AOF保证尽量不丢、RDB快速恢复。纯缓存可不开持久化,丢了重建就行,省性能。数据重要就开。开启后测一下重启恢复,确认数据真能找回来。持久化配好,重启也不慌。

AOF文件备份也要做,和数据库一样异地备份。别只靠持久化当备份。RDB和AOF恢复会覆盖当前数据,先备份再恢复。持久化有性能开销,按需开别全开。数据安全第一,缓存也值得认真对待。

总结:RDB快照定期落盘、AOF追加日志保完整、生产两者都开、备份和恢复都验证,Redis持久化就配明白了。重启不丢数据,用起来才踏实。