command
Version:
v0.2.23
Opens a new window with list of versions in this module.
Published: Aug 29, 2024
License: MIT
Opens a new window with license information.
Imports: 13
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
¶
genmc
mc缓存代码生成
项目简介
自动生成memcached缓存代码 和缓存回源工具atreus-gen-bts配合使用 体验更佳
支持以下功能:
- 常用mc命令(get/set/add/replace/delete)
- 多种数据存储格式(json/pb/raw/gob/gzip)
- 常用值类型自动转换(int/bool/float...)
- 自定义缓存名称和过期时间
- 记录pkg/error错误栈
- 记录日志trace id
- prometheus错误监控
- 自定义参数个数
- 自定义注释
使用方式:
- dao.go文件中新增 _mc interface
- 在dao 文件夹中执行 go generate命令 将会生成相应的缓存代码
- 示例见testdata/dao.go
注意:
类型会根据前缀进行猜测
set / add 对应mc方法Set
replace 对应mc方法 Replace
del 对应mc方法 Delete
get / cache对应mc方法Get
mc Add方法需要用注解 -type=only_add单独指定
注解参数:
名称 |
默认值 |
可用范围 |
说明 |
可选值 |
示例 |
encode |
根据值类型raw或json |
set/add/replace |
数据存储的格式 |
json/pb/raw/gob/gzip |
json 或 json|gzip 或gob等 |
type |
前缀推断 |
全部 |
mc方法 set/get/delete... |
get/set/del/replace/only_add |
get 或 replace 等 |
key |
根据方法名称生成 |
全部 |
缓存key名称 |
- |
demoKey |
expire |
根据方法名称生成 |
全部 |
缓存过期时间 |
- |
d.demoExpire |
batch |
|
get(限多key模板) |
批量获取数据 每组大小 |
- |
100 |
max_group |
|
get(限多key模板) |
批量获取数据 最大组数量 |
- |
10 |
batch_err |
break |
get(限多key模板) |
批量获取数据回源错误的时候 降级继续请求(continue)还是直接返回(break) |
break 或 continue |
continue |
struct_name |
dao |
全部 |
用户自定义Dao结构体名称 |
|
MemcacheDao |
check_null_code |
|
add/set |
(和null_expire配套使用)判断是否是空缓存的代码 用于为空缓存独立设定过期时间 |
|
$.ID==-1 或者 $=="-1"等 |
null_expire |
300(5分钟) |
add/set |
(和check_null_code配套使用)空缓存的过期时间 |
|
d.nullExpire |
Documentation
¶
There is no documentation for this package.
Source Files
¶
Click to show internal directories.
Click to hide internal directories.