redis持久化
redis提供了两种数据持久化的方式快照和追加文件
appendonly
:是否开启AOF持久化,yes开启,no关闭
快照(RDB):
按指定的时间间隔,生成数据的快照,并且保存到磁盘文件中,为了避免阻塞主进程,redis还会fork出一个子进程,来负责快照的保存,这种方式的性能比较好,无论是备份还是恢复,都比追加文件要好很多
缺点:
在数据量较大的时候,fork子进程需要用到较大的内存,保存数据也很耗时,所以需要设置一个比较长的时间间隔,比如至少五分钟,如果发生故障丢失的就是几分钟的数据
追加文件(AOF)
是在文件末尾追加记录的方式,对redis写入的数据,依次进行持久化,所以它的持久化更安全
缺点:
文件体积大,恢复时间长
它提供了一个用appendfsync
选项设置同步数据的策略,来确保写入的数据都写入到磁盘里面选项包括
always:每次操作都会执行一次同步,最安全的方式(慢,安全)
everysec:每秒调用一次同步,就算丢失也只会丢失1s的数据(折衷,默认值)
no:交给系统处理(快)
关于redis持久化配置的知识
https://www.cnblogs.com/ruanraun/p/redis.html
redis缓存淘汰优化
redis 内存数据集大小上升到一定大小的时候,就会进行数据淘汰策略。如果不淘汰经常不用的缓存数据,那么正常的数据将不会存储到缓存当中。
我们通过配置redis.conf中的maxmemory这个值来开启内存淘汰功能。
maxmemory
值得注意的是,maxmemory为0的时候表示我们对Redis的内存使用没有限制