redis使用

redis持久化的解决方案现在主要有两种:RDB和AOF
两者的作用都是用于redis重启后恢复数据。
redis在李咏RDB和AOF进行恢复的时候,都是通过读取RDB或者AOF文件,重新加载到内存中。
1.RDB简单来说就是Snapshot快照存储,是默认的持久化方式。通过一定的策略周期性将数据保存到磁盘中,并且会产生的数据文件交dump.rdb
.通过配置文件中的save参数来定义快照的周期。
redis中默认的快照周期:
save 900 1 #当有一条Keys数据被改变时,900秒刷新到Disk一次
save 300 10 #当有10条Keys数据被改变时,300秒刷新到Disk一次
save 60 10000 #当有10000条Keys数据被改变时,60秒刷新到Disk一次
2.AOF
在使用AOF的时候,redis会将每一个收到的命令都通过write函数追加到文件中。当redis重启后重新执行文件中保存的写命令在内存中重新搭建种鸽数据库的内容。
参数设置:
appendonly yes #启用AOF持久化方式
appendfilename appendonly.aof #AOF文件的名称,默认为appendonly.aof

appendfsync always #每次收到写命令就立即强制写入磁盘,是最有保证的完全的持久化,但速度也是最慢的,一般不推荐使用。

appendfsync everysec #每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,是受推荐的方式。

appendfsync no #完全依赖OS的写入,一般为30秒左右一次,性能最好但是持久化最没有保证,不被推荐。

两者的优缺点:
RDB的缺点就是当数据库出现问题,那么RDB文件中保存的数据并不一定是全新的,可能在将上次RDB产生的文件到redis这次停机这段时间的数据丢失掉了。
AOF主要是因为每次操作都会写到持久化文件中,导致持久化文件越来越大,但里边的数据有很多都是多余的,资源消耗比较严重、

同时开启两个持久化方案,则按照 AOF的持久化放案恢复数据

你可能感兴趣的:(redis)