Redis重启后数据丢失(redis 重启 不恢复)
Redis可被视为一种高性能的NoSQL数据库,它将数据存储于内存中,因此可提供更快的速度和性能。由于数据存储在内存中,所以当Redis重启或系统停止时,数据会丢失。
用户在使用Redis时,需要注意重启后数据丢失的现象。由于数据的持久性取决于Redis服务的状态,可以使用一些技术来减少数据丢失的现象,比如使用“以持久化”的方式来备份数据。
“持久化”指的是数据将会被写入到磁盘中,可以在Redis重启后恢复数据。Redis使用RDB (Redis DataBase) 的方式持久化数据,它使用copy-on-write(写时复制)的机制来避免Redis服务被长时间的block,因此支持实时的持久化。
修改Redis的配置文件,在其中启用持久化功能:
# 以下为Redis持久化开启操作
# 保存数据到硬盘save # 例如save 900 1
# 定时保存# 负数表示关闭这个功能
# zero表示仅执行一次,仅在用户主动执行save指令时才会保存rdbcompression yes # 开启rdb压缩
# 设置rdb持久化路径,可以定义到任意位置,这里以 /var/lib/redis/ 为例:dir /var/lib/redis/
另外,Redis也支持使用AOF来持久化,即追加文件,它会将操作的语句记录下来,方便重新构建缓存数据。
AOF持久化也需要添加配置,使用appendonly yes来开启持久化功能,此外还需要设置AOF持久化文件的路径:
# Redis AOF特性开启操作:
appendonly yes # 开启aof
# 设置aof持久化路径appendfilename "appendonly.aof"
需要引起重视的是,用户在使用Redis时,应注意重启后数据丢失的现象,可以采用RDB或AOF的持久化方式来备份数据。