分布式缓存服务 DCS-DCS使用规范:数据设计规范
数据设计规范
分类 |
原则 |
原则说明 |
备注 |
---|---|---|---|
Key相关规范 |
使用统一的命名规范。 |
一般使用业务名(或数据库名)为前缀,用冒号分隔。Key的名称保证语义清晰。 |
例如,业务名:子业务名:id |
控制Key名称的长度。 |
在保证语义清晰的情况下,尽量减少Key的长度。有些常用单词可使用缩写,例如,user缩写为u,messages缩写为msg。 |
建议不要超过128字节(越短越好)。 |
|
禁止包含特殊字符(大括号“{}”除外)。 |
禁止包含特殊字符,如空格、换行、单双引号以及其他转义字符。 |
由于大括号“{}”为Redis的hash tag语义,如果使用的是集群实例,Key名称需要正确地使用大括号避免分片不均的情况。 |
|
Value相关规范 |
设计合理的Value大小。 |
设计合理的Key中Value的大小,推荐小于10 KB。 |
过大的Value会引发分片不均、热点Key、实例流量或CPU使用率冲高等问题,还可能导致变更规格和迁移失败。应从设计源头上避免此类问题带来的影响。 |
设计合理的Key中元素的数量。 |
对于集合和列表类的数据结构(例如Hash,Set,List等),避免其中包含过多元素,建议单Key中的元素不要超过5000个。 |
由于某些命令(例如HGETALL)的时间复杂度直接与Key中的元素数量相关。如果频繁执行时间复杂度为O(N)及以上的命令,且Key中的子Key数量过多容易引发慢请求、分片流量不均或热点Key问题。 |
|
选择合适的数据类型。 |
合理地选择数据结构能够节省内存和带宽。 |
例如存储用户的信息,可用使用多个key,使用set u:1:name "X"、set u:1:age 20存储,也可以使用hash数据结构,存储成1个key,设置用户属性时使用hmset一次设置多个,同时这样存储也能节省内存。 |
|
设置合理的过期时间。 |
合理设置Key的过期时间,将过期时间打散,避免大量Key在同一时间点过期。 |
设置过期时间时,可以在基础值上增减一个随机偏移值,避免在同一个时间点大量Key过期。大量Key过期会导致CPU使用率冲高。 |
- GaussDB如何建主键_数据库索引设计规范_高斯数据库如何建主键-华为云
- 华为云CodeArts API_APIFirst_API设计_API设计规范_API全生命周期
- 华为云CodeArts API_如何在CodeArts API中设置API的设计规范?
- 华为云CodeArts API_API质量_API规范_API审核
- 分布式缓存服务Redis的安全能力_分布式缓存服务Redis的数据安全性
- GaussDB数据库如何使用_高斯数据库基于什么_高斯数据库如何使用
- 分布式缓存服务Redis优势_分布式缓存服务Redis_华为云
- GaussDB使用技巧_高斯数据库下载_高斯数据库使用技巧_华为云
- 数据治理中心_数据架构_数据架构使用示例-华为云
- GaussDB数据库的使用现状_GaussDB最大的优势_高斯数据库的使用现状