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按需求來
