Redis

关注公众号 jb51net

关闭
首页 > 数据库 > Redis > Redis Key 命名规范

浅谈Redis Key 命名规范文档

作者:小玉起起

本文介绍了Redis键名命名规范,包括命名格式、具体规范、数据类型扩展命名、时间敏感型键名、规范总结以及实际应用示例,感兴趣的可以了解一下

开发过程中为确保 Redis 键名的一致性、可读性和易维护性,本规范旨在指导开发团队在使用 Redis 时设计合理的键名格式。

1. 命名格式

采用 模块:子模块:业务描述:标识 的分层格式,明确数据来源和用途。

格式模板:

<module>:<submodule>:<description>:<identifier>

示例:

2. 具体规范

2.1 小写命名

2.2 使用冒号分隔层级

2.3 标识符命名

3. 数据类型扩展命名

针对不同的数据结构(如 listsethash),可以在业务描述部分或标识符后添加类型信息:

数据类型格式示例
字符串(String)user:profile:id:12345
列表(List)chat:messages:list:room_id:56789
哈希(Hash)user:profile:hash:id:12345
集合(Set)product:categories:set:item_id:67890
有序集合(ZSet)leaderboard:score:zset:game_id:11111

4. 时间敏感型键名

对于有时间属性或需要自动过期的数据,可在键名中包含时间信息:

5. 规范总结

5.1 推荐的键名风格

5.2 避免的问题

6. 实际应用示例

6.1 Java 中的 Redis Key 工具类

public class RedisKeyUtil {

    // 用户资料键名
    public static String userProfileKey(String userId) {
        return String.format("user:profile:id:%s", userId);
    }

    // 订单状态键名
    public static String orderStatusKey(String orderId) {
        return String.format("order:status:order_id:%s", orderId);
    }

    // 聊天记录列表键名
    public static String chatMessagesKey(String roomId) {
        return String.format("chat:messages:list:room_id:%s", roomId);
    }
}

6.2 常见 Redis 键名

用途键名
用户资料user:profile:id:12345
用户登录状态user:session:uid:abc123
商品库存product:inventory:item_id:67890
订单状态order:status:order_id:98765
聊天消息队列chat:messages:list:room_id:12345
排行榜leaderboard:score:zset:game_id:1

7. FAQ

为什么推荐小写和下划线分隔?

键名长度如何控制?

是否需要统一团队风格?

通过以上规范,团队可以提高 Redis 数据的可读性和可维护性,同时避免常见的命名问题。建议结合实际业务情况,适当调整以满足具体需求。

到此这篇关于浅谈Redis Key 命名规范文档的文章就介绍到这了,更多相关Redis Key 命名规范内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文