更新时间:2024-11-29 GMT+08:00

Redis使用规范

键值设计

  • Key设计
    • 【强制】不要包含特殊字符,特殊字符包含:空格、括号(不包含大括号“{”)、换行等。
    • 【建议】在保证语义的前提下,控制Key的长度,当Redis中Key数量庞大时,Key占用的内存也不容忽视。
    • 【推荐】建议针对每个Redis的键值对都设置过期时间,控制Redis的生命周期。需要注意的是过期时间在条件允许的情况下建议打散。
  • Value设计
    • 【强制】Value里面不建议写入大Value。String类型建议控制在64KB以内,hashlistsetzset等不建议超过3000。

命令使用

  • 【强制】在生产环境不要使用keys命令进行模糊查找,当数据量过多时会导致Redis集群主实例故障。
  • 【强制】建议使用Redis集群模式,不建议使用单机模式。
  • 【强制】禁止在lua脚本中使用耗时较长的命令以及sleep命令。
  • 【推荐】关注复杂度为O(N)的命令,在生产环境中谨慎使用。
  • 【推荐】需要模糊查找时,使用scanhcanzscansscan命令。
  • 【推荐】当需要多次读写数据时,建议使用pipeline。一次读写元素个数建议不超过500。
  • 【推荐】如果没有特殊需求,不建议使用Redis的发布订阅作为消息队列。
  • 【推荐】不建议使用del命令直接删除大Value,建议使用unlink命令。
  • 【建议】Redis事务能力较弱,不建议使用。
  • 【建议】非必要情况下,不建议长时间使用monitor命令。