API 设计指南:https://cloud.google.com/apis/design?hl=zh-cn
数据库设计规范:https://developer.aliyun.com/article/709387
Redis Key 命令规范:参考下方
Uber Go 编码规范:https://github.com/xxjwxc/uber_go_guide_cn
Redis Key 命名规范
Redis 作为一款高性能的键值数据库,其 Key 的命名规范对性能、可读性以及数据管理都有着重要的影响。一个好的命名规范可以帮助我们更好地组织数据,提高查询效率,减少出错的概率。
为什么要有 Key 命名规范?
- 提高可读性: 清晰的命名有助于快速理解 Key 的含义,方便维护和调试。
 - 方便管理: 规范的命名可以帮助我们更好地组织数据,提高数据检索效率。
 - 避免冲突: 统一的命名规范可以减少 Key 冲突的概率,保证数据的完整性。
 
Redis Key 命名规范建议
- 
采用命名空间:
- 不同的业务模块或数据类型使用不同的前缀。例如:
user:info:userId:表示用户的信息product:detail:productId:表示商品的详细信息
 - 命名空间可以有效地避免 Key 冲突,提高可读性。
 
 - 不同的业务模块或数据类型使用不同的前缀。例如:
 - 
使用有意义的名称:
- Key 的名称应该能够直观地反映出存储的数据的含义。
 - 避免使用过于简短或模糊的名称。
 - 例如:
user_id比u更具有可读性。 
 - 
使用下划线或冒号分隔:
- 使用下划线(_)或冒号(:)来分隔不同的单词,提高可读性。
 - 例如:
user_profile或user:profile。 
 - 
避免使用特殊字符:
- 除了下划线或冒号,尽量避免使用其他特殊字符,以免引起歧义或错误。
 
 - 
保持一致性:
- 在整个项目中保持一致的命名风格,有利于团队协作。
 
 
常见的命名方式
- 业务模块名:业务逻辑含义:其他:value类型
- 例如:
order:detail:123:json表示订单123的详细信息,数据类型为 JSON。 
 - 例如:
 - 项目名:模块名:子模块名:业务对象:业务属性
- 例如:
myapp:user:profile:username:zhangsan表示myapp项目中用户模块的profile子模块中,用户名为zhangsan的用户。 
 - 例如:
 
命名示例
| 场景 | 示例 Key | 说明 | 
|---|---|---|
| 用户信息 | user:info:123 | 用户ID为123的用户信息 | 
| 商品库存 | product:stock:iphone14 | iPhone14的库存数量 | 
| 用户访问记录 | user:visit:123:20230101 | 用户ID为123在2023年1月1日的访问记录 | 
| 缓存 | cache:user:123 | 缓存用户ID为123的信息 | 
| 任务队列 | queue:task:process_order | 处理订单的任务队列 | 
其他注意事项
- Key 长度: 虽然 Redis 支持较长的 Key,但过长的 Key 会影响性能和内存占用。建议 Key 的长度保持在合理范围内。
 - Key 过期: 对于一些临时数据,可以设置过期时间,避免占用过多内存。
 - Key 命名空间隔离: 可以使用不同的 Redis 实例或不同的命名空间来隔离不同业务的数据。
 
总结
Redis Key 的命名规范虽然没有严格的标准,但一个好的命名规范可以大大提高开发效率和维护性。在实际应用中,我们可以根据项目的需求和团队的习惯来制定适合自己的命名规范。
希望以上内容对您有所帮助!
您还有其他关于 Redis Key 命名规范的问题吗? 比如:
- 如何设计一个高效的命名空间?
 - 如何处理 Key 过期的问题?
 - 如何在大型项目中保证命名的一致性?