package
0.0.0-20211208162728-2c17daf04a11
Repository: https://github.com/herb-go/deprecated.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
# README
ResponseCache 页面响应缓存组件
提供将整个http响应进行缓存功能的组件
功能
- 缓存后的页面能够继续添加或者维护Header
- 通过缓存的Loader功能防止缓存雪崩
- 能状态码进行判断页面是否需要需要缓存
上下文
上下文指在一次请求中与缓存相关的内容。通过维护上下文来决定缓存组件的行为
上下文结构为
http.ResponseWriter
响应的写入数据,一般用于判断响应状态
Request *http.Request
当前请求
Identifier func(*http.Request) string
请求识别器。由ContextBuilder设置。返回值为空字符串时,不缓存,否则以返回值为主键进行缓存
TTL time.Duration
缓存声明周期。由ContextBuilder设置。
Buffer []byte
缓存写入的数据
StatusCode int
当前响应的状态码。一般用于Validator判断
Validator func(*Context) bool
响应验证器。由ContextBuilder设置。返回值为true时才进行缓存。为空时使用DefaultValidator
Cache cache.Cacheable
使用的缓存组件,由ContextBuilder设置
上下文构建器 ContextBuilder
上下文构建器负责设置维护上下文
上下文中的 Identifier,TTL,Validator,Cache由构建器负责构建
简单上下文构建器 PlainContextBuilder
简单上下文构建器通过设置固定的Identifier,TTL,Validator,Cache来进行使用,是一种基础的上下文构建器