给高频调用的路由加上 cache-control

This commit is contained in:
eafonyang
2026-06-16 17:21:31 +08:00
parent b5560ca702
commit 1e7dc01b22
3 changed files with 24 additions and 6 deletions
+18
View File
@@ -0,0 +1,18 @@
package middleware
import "github.com/gin-gonic/gin"
const (
CacheControlList = "public, max-age=300, s-maxage=1800, stale-while-revalidate=60"
CacheControlCurve = "public, max-age=300, s-maxage=3600, stale-while-revalidate=120"
CacheControlModelList = "public, max-age=30, s-maxage=300, stale-while-revalidate=30"
)
func CacheControl(value string) gin.HandlerFunc {
return func(c *gin.Context) {
c.Header("Cache-Control", value)
c.Header("Vary", "Accept-Encoding")
c.Next()
}
}
+5 -5
View File
@@ -62,13 +62,13 @@ func New(log *zap.Logger, db *sql.DB, searchClient *search.Client, rdb *redis.Cl
audio := r.Group("/audio")
{
audio.GET("/getBrand", brand.GetBrand)
audio.GET("/getModel", model.GetModel)
audio.GET("/modelList", modelList.ModelList)
audio.GET("/getBrand", middleware.CacheControl(middleware.CacheControlList), brand.GetBrand)
audio.GET("/getModel", middleware.CacheControl(middleware.CacheControlList), model.GetModel)
audio.GET("/modelList", middleware.CacheControl(middleware.CacheControlModelList), modelList.ModelList)
audio.GET("/reportDevInfo", device.ReportDevInfo)
audio.GET("/ota", ota.GetOTA)
audio.GET("/getCurve", curve.GetCurve)
audio.GET("/modelCurve", curve.ModelCurve)
audio.GET("/getCurve", middleware.CacheControl(middleware.CacheControlCurve), curve.GetCurve)
audio.GET("/modelCurve", middleware.CacheControl(middleware.CacheControlCurve), curve.ModelCurve)
audio.GET("/getModelCSV", modelCSV.GetModelCSV)
audio.POST("/shareCreate", shareCode.ExportShareCode)
audio.GET("/shareList", shareCode.ListShareCodesByMac)