Skip to content

gin-contrib/cache

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
October 9, 2023 10:26
November 14, 2016 18:37
November 14, 2016 18:00
July 10, 2022 08:49
July 7, 2022 15:39
July 7, 2022 15:39

Cache gin's middleware

Build Status codecov Go Report Card GoDoc

Gin middleware/handler to enable Cache.

Usage

Start using it

Download and install it:

$ go get github.com/gin-contrib/cache

Import it in your code:

import "github.com/gin-contrib/cache"

Canonical example:

See the example

package main

import (
	"fmt"
	"time"

	"github.com/gin-contrib/cache"
	"github.com/gin-contrib/cache/persistence"
	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()

	store := persistence.NewInMemoryStore(time.Second)
	
	r.GET("/ping", func(c *gin.Context) {
		c.String(200, "pong "+fmt.Sprint(time.Now().Unix()))
	})
	// Cached Page
	r.GET("/cache_ping", cache.CachePage(store, time.Minute, func(c *gin.Context) {
		c.String(200, "pong "+fmt.Sprint(time.Now().Unix()))
	}))

	// Listen and Server in 0.0.0.0:8080
	r.Run(":8080")
}