批里批里 (゜-゜)つ🍺 干杯~|

七つ一旋桜

园龄:4年2个月粉丝:6关注:3

gin/hertz redis cache

gin-cache/[hertz-cache](hertz-contrib/cache (github.com))

package main

import (
	"context"
	"log"
	"net/http"
	"time"

	"github.com/cloudwego/hertz/pkg/app"
	"github.com/cloudwego/hertz/pkg/app/server"
	"github.com/go-redis/redis/v8"
	"github.com/hertz-contrib/cache"
	"github.com/hertz-contrib/cache/persist"
)

var (
	redisStore *persist.RedisStore
)

// 注册中间件
func useRedisMw() app.HandlerFunc {
	return cache.NewCacheByRequestPath(redisStore, 2*time.Minute)
}

func main() {
	h := server.New()

	redisStore = persist.NewRedisStore(redis.NewClient(&redis.Options{
		Network: "tcp",
		Addr:    "localhost:6379",
	}))

	h.GET("/hello", useRedisMw(), func(ctx context.Context, c *app.RequestContext) {
		log.Println("request hello")
		c.String(http.StatusOK, "hello world")
	})
	h.GET("/clean", func(ctx context.Context, c *app.RequestContext) {
		// 删除缓存
        err := redisStore.Delete(ctx, "/hello")
		if err != nil {
			c.String(http.StatusInternalServerError, "clean failed")
			return
		}
		c.String(http.StatusOK, "clean success")
	})
	h.Spin()
}

本文作者:七つ一旋桜

本文链接:https://www.cnblogs.com/poifa/p/17129329.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   七つ一旋桜  阅读(97)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起