cache

package module
v1.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 29, 2020 License: MIT Imports: 13 Imported by: 1

README

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")
}

Documentation

Index

Constants

View Source
const (
	// ResultLimitHeader is request limit
	ResultLimitHeader = "X-Result-Limit"

	// ResultOffsetHeader is request offset
	ResultOffsetHeader = "X-Result-Offset"

	// ResultSortHeader is request sort
	ResultSortHeader = "X-Result-Sort"

	// ResultCountHeader is request result count
	ResultCountHeader = "X-Result-Count"

	AuthenticationHeader = "X-Druid-Authentication"

	// ResultLastParam url last
	ResultLastHeader = "X-Result-Last"
)

Variables

View Source
var (
	CACHE_MIDDLEWARE_KEY = "gincontrib.cache"
)
View Source
var (
	PageCachePrefix = "gincontrib.page.cache"
)

Functions

func Cache

Cache Middleware

func CachePage

func CachePage(store persistence.CacheStore, expire time.Duration, handle gin.HandlerFunc) gin.HandlerFunc

CachePage Decorator

func CachePageAtomic added in v1.1.4

func CachePageAtomic(store persistence.CacheStore, expire time.Duration, handle gin.HandlerFunc) gin.HandlerFunc

CachePageAtomic Decorator

func CachePageWithoutHeader added in v1.1.4

func CachePageWithoutHeader(store persistence.CacheStore, expire time.Duration, handle gin.HandlerFunc) gin.HandlerFunc

func CachePageWithoutQuery added in v1.1.4

func CachePageWithoutQuery(store persistence.CacheStore, expire time.Duration, handle gin.HandlerFunc) gin.HandlerFunc

CachePageWithoutQuery add ability to ignore GET query parameters.

func CreateKey added in v1.1.4

func CreateKey(u string) string

CreateKey creates a package specific key for a given string

func RegisterResponseCacheGob added in v1.1.4

func RegisterResponseCacheGob()

RegisterResponseCacheGob registers the responseCache type with the encoding/gob package

func SetPageKey

func SetPageKey(key string)

func SiteCache

func SiteCache(store persistence.CacheStore, expire time.Duration) gin.HandlerFunc

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL