1.找到redis的配置文件,进入编辑状态
2.搜索logfile这项,把日志文件的完整路径填入仿锋搜""里面就可以,如: "/var/logs/redis.log"
3.修改完之后保存退出就可以了
4.把路径里面的文件夹创建好,日志文件会在启动服务的时候自动创建
5.启动服务,记得要带你刚刚编辑的配置文备历件启动,这时候启动窗口将不输出任何日志,全部保存到日志文件里了
本节主要分析下Redis日志持久化机制,包括RDB、AOF以及360开源的Pika
AOF是 写后日志 ,即先写内存再记录日志;日志中记录用户的 *** 作命令(类似mysql的binlog)
由于Redis是单线程,如果主线程处理写AOF务必会影响用户请求,因此Redis提供了三种写策略
小结 :
Always 可靠性高,数据基本不丢失,但是每个命令都要写磁盘,性能影响较大;
Everysec 性能适中,宕机时最多丢失1秒数据,Redis的默认策略
No 性能好,但是宕机时丢失数据较多
思考此时AOF日志机制存在什么问题?
写AOF日志的目的是为了给数据做持久化,以便宕机或重启时还原内存数据,要实现这个目标需要考虑几个问题:
触发亮棚写AOF有两种方式:
再来思考下:重写机制之后AOF日志用于重启或宕机恢复redis还存在什么问题?
要想解决这两个问题就需要引入下面的RDB,gogogo...
RDB即内存快照,就是指内存中的数据在某一个时刻的状态记录(类似thread dump),把这一时刻的状态以文件的形式写到磁盘文件上,用于数据信键迟恢复;
触发RDB快照跟AOF一样,同样有两种方式:
看完AOF和RDB的方案,再继续思考下要想实现即高效又完全不丢失数据的目标,还存在哪些问题:
Pika 主要解决的是用户使用 Redis 的内存大小超过 50G、80G 等等这样的情况,会遇到启动恢复时间长,一主多从代价大,硬件成本贵,缓冲区容易写满等问题。Pika 就是针对这些场景的一个解决方案。
本节分析了AOF、RDB、Pika三种缓冲方案的实现,以及各自解决了什么问题,又带来了什么问题;具体使用时还要滑李具体分析权衡利弊,下面几点建议
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)