Documentation
¶
Index ¶
- Constants
- Variables
- func LFULogIncr(counter uint8) uint8
- func RegisterConverter(typeName string, converter string)
- func Version() string
- type AsView
- type CacheItems
- type Data
- type Engine
- type EvictPolicy
- type ExpirationPolicy
- type Float
- type HandlerFunc
- type Int
- type IntAll
- type MetaCache
- type MetaDataBase
- type MetaLogger
- type Request
- type RequestMiddleware
- type Response
- type ResponseMiddleware
- type UInt
- type ViewMiddleware
Constants ¶
View Source
const ( LFUInitValue = 5 // LFU初始化值 LFULogFactor = 0.1 // LFU对数增长因子 MaxCounterValue = 255 // 计数器最大值 )
View Source
const ( DEBUG logLevel = iota // 打印所有日志 INFO // 打印所有日志 WARNING // 打印 Warning、Error 日志 ERROR // 打印 Error 日志 )
日志等级
Variables ¶
View Source
var Settings *metaSettings
Functions ¶
func RegisterConverter ¶
Types ¶
type AsView ¶
type AsView struct { GET HandlerFunc HEAD HandlerFunc POST HandlerFunc PUT HandlerFunc PATCH HandlerFunc DELETE HandlerFunc CONNECT HandlerFunc OPTIONS HandlerFunc TRACE HandlerFunc }
type CacheItems ¶
type CacheItems struct {
// contains filtered or unexported fields
}
type Engine ¶
type Engine struct { Router *metaRouter MiddleWares *metaMiddleWares Settings *metaSettings Cache *MetaCache Log *MetaLogger }
Engine 实现 ServeHTTP 接口
func (*Engine) HandlerHTTP ¶
func (engine *Engine) HandlerHTTP(request *Request, response http.ResponseWriter) (result any)
处理 HTTP 请求
type EvictPolicy ¶
type EvictPolicy uint8 // 缓存淘汰策略
const ( NOEVICTION EvictPolicy = iota // 直接返回错误,不淘汰任何已经存在的键 ALLKEYS_RANDOM // 所有的键 随机移除 key ALLKEYS_LRU // 所有的键 移除最近最少使用的 key ALLKEYS_LFU // 所有的键 移除最近最不频繁使用的 key VOLATILE_RANDOM // 所有设置了过期时间的键 随机移除 key VOLATILE_LRU // 所有设置了过期时间的键 移除最近最少使用的 key VOLATILE_LFU // 所有设置了过期时间的键 移除最近最不频繁使用的 key VOLATILE_TTL // 所有设置了过期时间的键 移除快过期的 key )
type ExpirationPolicy ¶
type ExpirationPolicy uint8 // 过期策略
const ( // 定期删除:默认每隔 1s 就随机抽取一些设置了过期时间的 key,检查其是否过期,如果有过期就删除。 // 定时删除:某个设置了过期时间的 key,到期后立即删除。 PERIODIC ExpirationPolicy = iota // 定期删除 SCHEDULED // 定时删除 )
type MetaCache ¶
type MetaCache struct { EVICT_POLICY EvictPolicy // 缓存淘汰策略 EXPIRATION_POLICY ExpirationPolicy // 过期策略 MAX_SIZE int64 // contains filtered or unexported fields }
var Cache *MetaCache
type MetaDataBase ¶
type MetaDataBase struct { ENGINE string NAME string USER string PASSWORD string HOST string PORT uint16 SERVICE_NAME string }
数据库
type MetaLogger ¶
type MetaLogger struct { DEBUG bool // 默认为 true INFO_OUT_PATH string // 所有日志输出路径 ACCESS_OUT_PATH string // 访问日志输出路径 ERROR_OUT_PATH string // 错误日志输出路径 OUT_DATABASE string // 所有日志输出到数据库 SplitSize int64 // 日志切割大小,默认为 1G 1024 * 1024 * 1024 SplitTime string // 日志切割大小,默认按天切割 // contains filtered or unexported fields }
var Log *MetaLogger
type RequestMiddleware ¶
type ResponseMiddleware ¶
type ResponseMiddleware func(*Request, http.ResponseWriter) any // 响应中间件
type ViewMiddleware ¶
type ViewMiddleware func(*Request, HandlerFunc) any // 视图中间件
Source Files
¶
Click to show internal directories.
Click to hide internal directories.