88dfe5c640
iotlcm-openapi:对外 OpenAPI 网关(V3 接口 + 旧版兼容接口)。
- Go module:iotlcm-openapi → git.5iot.com/iotlcm-public/iotlcm-openapi(178 文件)
- 凭据与地址脱敏:JWT signingKey、MySQL DSN、Redis 口令、
RabbitMQ DSN 全部改为 ${*} 占位;私网 IP → 文档地址段
- 7 处真实手机号 → 合法 11 位编造号
- 启动 banner 统一 IOTLCM 方块字 + 社区惯例署名
- 移除内部资产:CI 触发器
- Dockerfile 改用公共基础镜像,移除 GOPRIVATE 内网设置
- README 重写(原为 GoFrame 模板占位文案),补 Apache-2.0 LICENSE,
LF 行尾 + .gitattributes
47 lines
957 B
Go
47 lines
957 B
Go
// Package mcache
|
|
// @Link https://github.com/xiujiecn/xiu-admin
|
|
// @Copyright Copyright (c) 2025 LiXiujie
|
|
// @Author Lxj <li@xiujie.cn>
|
|
// @License https://github.com/xiujiecn/xiu-admin/blob/master/LICENSE
|
|
// 内存缓存管理
|
|
package mcache
|
|
|
|
import (
|
|
"context"
|
|
"sync"
|
|
"time"
|
|
|
|
"github.com/gogf/gf/v2/os/gcache"
|
|
)
|
|
|
|
// cache 缓存驱动
|
|
var (
|
|
mcache *gcache.Cache
|
|
mu sync.Mutex
|
|
)
|
|
|
|
// Instance 缓存实例
|
|
func Instance() *gcache.Cache {
|
|
if mcache == nil {
|
|
mu.Lock()
|
|
if mcache == nil {
|
|
mcache = gcache.NewWithAdapter(gcache.NewAdapterMemory())
|
|
}
|
|
mu.Unlock()
|
|
}
|
|
return mcache
|
|
}
|
|
|
|
func Set(ctx context.Context, key string, value interface{}, timeout time.Duration) error {
|
|
return Instance().Set(ctx, key, value, timeout)
|
|
}
|
|
|
|
func Get(ctx context.Context, key string) (interface{}, error) {
|
|
return Instance().Get(ctx, key)
|
|
}
|
|
|
|
func Remove(ctx context.Context, key string) error {
|
|
_, err := Instance().Remove(ctx, key)
|
|
return err
|
|
}
|