redis 存日志
Posted dy blog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis 存日志相关的知识,希望对你有一定的参考价值。
package main import ( "fmt" "time" "github.com/go-redis/redis" ) func main() { start := time.Now() client := redis.NewClient(&redis.Options{ Addr: "127.0.0.1:6379", }) err := client.Ping().Err() if err != nil { panic(err.Error()) } for i := 0; i < 1000000; i++ { now := time.Now() nowStr := fmt.Sprintf("%d-%d-%d %02d:%02d:%02d", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second()) client.LPush("log", nowStr+" 200 success laskdjflaskjdflkjasdl") } fmt.Println(time.Since(start)) }
package main import ( "fmt" "os" "time" ) func main() { file, err := os.Create("test.log") if err != nil { panic(err.Error()) } start := time.Now() for i := 0; i < 1000000; i++ { now := time.Now() nowStr := fmt.Sprintf("%d-%d-%d %02d:%02d:%02d", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second()) fmt.Fprintln(file, nowStr, "200", "success", "", "laksjdflkjsdal") } fmt.Println("time:", time.Since(start)) }
不对时间进行格式化处理时
对时间进行格式化处理后
可见redis和直接的fmt输出到文件,速度差了十倍左右
但用redis存日志查起来比较容易查,还可以将日期附加到key里区分每一天的日志,具体用文件存储还是redis按需求来
以上是关于redis 存日志的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情