缓存管理(Cache)

中间件 cache 为 Macaron 实例 提供了缓存管理的功能。

下载安装

go get github.com/go-macaron/cache

使用示例

import (
    "github.com/go-macaron/cache"
    "gopkg.in/macaron.v1"
)

func main() {
    m := macaron.Classic()
    m.Use(cache.Cacher())

    m.Get("/", func(c cache.Cache) string {
        c.Put("cache", "cache middleware", 120)
        return c.Get("cache")
    })

    m.Run()
}

自定义选项

该服务允许接受一个参数来进行自定义选项(cache.Options):

适配器

目前有 8 款内置的适配器,除了 内存文件 提供器外,您都必须显式导入其它适配器的驱动。

以下为适配器的基本用法:

内存

文件

Redis

特别注意 只能存取 string 和 int 相关类型。

当您使用 Redis 作为缓存器时,可以通过将 OccupyMode 的值设置为 true 来启用独占模式。在该模式下,缓存器将直接占用所选用的整个数据库,而不是通过维护一个索引集合来判断哪些数据是属于您的应用的。当您的缓存数据非常巨大时,该模式可以有效降低应用的 CPU 和内存使用率。

Memcache

PostgreSQL

可以使用以下 SQL 语句创建数据库:

MySQL

可以使用以下 SQL 语句创建数据库:

Ledis

Nodb

Last updated

Was this helpful?