用途:按 Go 模块化架构约定生成基于 Redis 的缓存代码,用于在 internal/modules/<module>/cache/ 下创建缓存层。
主要能力:采用双文件模式,端口接口放在 internal/modules/<module>/ports/<cache_name>_cache.go,实现放在 internal/modules/<module>/cache/<cache_name>_cache.go。支持布尔标志缓存(Set/Get/Delete)与值缓存(结构化数据或字符串,序列化后存储)。实现包含常量(缓存键前缀、TTL)、结构体、编译期接口断言、构造函数、方法及 buildKey 等辅助方法。
使用方式:接口定义在 ports 包,实现结构体同名于 cache 包;构造函数返回指针;使用 redis.UniversalClient(来自 github.com/cristiano-pacheco/bricks/pkg/redis);TTL 在实现内部通过 calculateTTL() 随机化,避免缓存雪崩;键通过 buildKey() 统一构建;缺失键返回零值加 nil 错误,用 errors.Is(err, redisClient.Nil) 判断;在 module.go 中通过 fx.Provide 与 fx.Annotate 完成依赖注入。
适用场景:Go 后端中需要 Redis 缓存的模块,如用户激活状态、会话数据、用户资料等。
限制:资料未提供安装命令、收费与价格、平台支持范围及具体效果数据;示例代码中的导入路径与包名依赖特定项目结构,需按实际项目调整。