Redis重启后所有都不复存在(redis重启就没有了)
Redis是一种非关系型的NoSQL数据库,它结合了键值(key-value)存储和内存结构数据库,提供快速读写能力,而且使用者能够保存数据实时到硬盘,因此它是一种高可靠性的数据库。但当Redis重启后,它能够保存持久性的数据也就无从谈起了。
重启一台服务器时,数据库提供商需要重新加载Redis数据库,所有数据都将丢失。换言之,重启后,Redis中的所有数据都不复存在。因此,当你重启你的Redis服务器时,首先需要做的就是确保所有数据都是可持久的。
一种可行的方法是将所有的Redis数据定期的持久化到一种文件格式,比如RDB、AOF,并将文件存储在安全的地方。
若要使用RDB文件格式进行持久化,可以在redis配置文件中指定执行持久化操作的开启以及定期持久化操作的时间间隔,具体代码如下:
# redis.conf
save 900 1save 300 10
save 60 10000
上面的代码表明,当数据库的服务运行了900秒时,会执行一次持久化操作;当运行了300秒时,会执行10次持久化操作;当运行了60秒时,会执行10000次持久化操作。
另一种可行的方法是使用AOF(Append-Only File)文件格式,AOF能记录出在启动之前客户端运行的所有写命令,从而在服务器重启后,可以一次性重新运行这些写命令,从而恢复服务器原有的状态。AOF能够保证Redis重启后,数据和服务能够继续保持之前的状态,比如网络连接、客户端、监控等等。下面的代码可用来启用AOF:
# redis.conf
appendonly yes
Redis重启后,所有数据都不复存在,为了保护Redis重启后能够持久保存服务器数据,建议使用上文介绍的RDB和AOF文件格式进行定期持久化,以确保Redis重启后能够保持高可靠性。