redis运行日志(redis 操作日志)

语宇社区 情感日志 903 0

Redis(四)-日志

本节主要分析下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三种缓冲方案的实现,以及各自解决了什么问题,又带来了什么问题;具体使用时还要滑李具体分析权衡利弊,下面几点建议

redis日志配置

redis默认日志为在控制台打印

可以在redis.config当中找到 logfile 为 “”  及为打印到控制台 启动时即可看到对应日志打印到控制台上

现在锋搭想要将日志打印到文件中可以修改 此配置文件 

修改为  logfile "/usr/redis/log/redis.log"

在redis目录银没拿下新建一个log文件夹再建一个redis.log文件

重启项目发现启动日志已经从控制台转到日志文件中了。

redis日志分为4个级别

Redis4默认的设置为notice,开发测试阶段可以用debug(日志内容较多一般不建议使用),生产模式一般选用notice

1. debug:会打印出很多信息,适用于开发和察宴测试阶段

2. verbose(冗长的):包含很多不太有用的信息,但比debug要清爽一些

3. notice:适用于生产模式

4. warning : 警告信息

redis 日志文件

redis的日志默认会在控制台输出,不会生成日志文件的,如果需要以日志文件的方式保存,我们可以手动修改下配置文件

1.找到redis的配置文件,进入编辑状态

2.搜索logfile这项,把日志文件的完整路径填入""里面就可以,如: "/var/logs/redis.log"

3.修改完之后保存基余退出就可以了

4.把路径里面的文件夹创建好,日志文件会在启动服务的时候仿锋搜自动创建

5.启动服务备历,记得要带你刚刚编辑的配置文件启动,这时候启动窗口将不输出任何日志,全部保存到日志文件里了

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~