我总结的 Redis 使用规范分为两大方面,主要包括业务层面和运维层面。

业务层面主要面向的业务开发人员:

1、key 的长度尽量短,节省内存空间
2、避免 bigkey,防止阻塞主线程
3、4.0+版本建议开启 lazy-free
4、把 Redis 当作缓存使用,设置过期时间
5、不使用复杂度过高的命令,例如SORT、SINTER、SINTERSTORE、ZUNIONSTORE、ZINTERSTORE
6、查询数据尽量不一次性查询全量,写入大量数据建议分多批写入
7、批量操作建议 MGET/MSET 替代 GET/SET,HMGET/HMSET 替代 HGET/HSET
8、禁止使用 KEYS/FLUSHALL/FLUSHDB 命令
9、避免集中过期 key
10、根据业务场景选择合适的淘汰策略
11、使用连接池操作 Redis,并设置合理的参数,避免短连接
12、只使用 db0,减少 SELECT 命令的消耗
13、读请求量很大时,建议读写分离,写请求量很大,建议使用切片集群

运维层面主要面向的是 DBA 运维人员:

1、按业务线部署实例,避免多个业务线混合部署,出问题影响其他业务
2、保证机器有足够的 CPU、内存、带宽、磁盘资源
3、建议部署主从集群,并分布在不同机器上,slave 设置为 readonly
4、主从节点所部署的机器各自独立,尽量避免交叉部署,对从节点做维护时,不会影响到主节点
5、推荐部署哨兵集群实现故障自动切换,哨兵节点分布在不同机器上
6、提前做好容量规划,防止主从全量同步时,实例使用内存突增导致内存不足
7、做好机器 CPU、内存、带宽、磁盘监控,资源不足时及时报警,任意资源不足都会影响 Redis 性能
8、实例设置最大连接数,防止过多客户端连接导致实例负载过高,影响性能
9、单个实例内存建议控制在 10G 以下,大实例在主从全量同步、备份时有阻塞风险
10、设置合理的 slowlog 阈值,并对其进行监控,slowlog 过多需及时报警
11、设置合理的 repl-backlog,降低主从全量同步的概率
12、设置合理的 slave client-output-buffer-limit,避免主从复制中断情况发生
13、推荐在从节点上备份,不影响主节点性能
14、不开启 AOF 或开启 AOF 配置为每秒刷盘,避免磁盘 IO 拖慢 Redis 性能
15、调整 maxmemory 时,注意主从节点的调整顺序,顺序错误会导致主从数据不一致
16、对实例部署监控,采集 INFO 信息时采用长连接,避免频繁的短连接
17、做好实例运行时监控,重点关注 expired_keys、evicted_keys、latest_fork_usec,这些指标短时突增可能会有阻塞风险
18、扫描线上实例时,记得设置休眠时间,避免过高 OPS 产生性能抖动

【Redis使用规范】相关推荐

  1. redis key命名规范_公司内部 Redis 使用规范

    前言 在业务中,会经常使用 Redis 作为后端缓存.存储.如果结构规划不合理.命令使用不规范,会造成系统性能达到瓶颈.活动高峰系统可用性下降,也会增大运维难度.为了避免出现因 Redis 使用不当, ...

  2. 阿里云官方 Redis 开发规范

    在阿里云社区看到一份阿里云官方 Redis 开发规范,是一位阿里云数据库技术专家(Redis方向)写的,感觉有很多地方值得参考.我对原文排版和内容进行了简单完善,这里分享一下. 一.键值设计 1. k ...

  3. 阿里官方Redis开发规范!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:付磊 - 起扬 https://yq.aliyun.com/ ...

  4. 阿里云 Redis 开发规范

    摘要:本文介绍了在使用阿里云Redis的开发规范,从键值设计.命令使用.客户端使用.相关工具等方面进行说明,通过本文的介绍可以减少使用Redis过程带来的问题. 一.键值设计 1. key名设计 (1 ...

  5. 深入解读阿里云Redis开发规范:不要只会setget

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 阿飞的博客 来源 | 公众号「阿飞的博客」 K ...

  6. 阿里云Redis开发规范

    本文作者:carlosfu 原文链接:https://yq.aliyun.com/articles/531067 摘要: 本文介绍了在使用阿里云Redis的开发规范,从键值设计.命令使用.客户端使用. ...

  7. 收藏 | 阿里云Redis开发规范

    原文链接:https://yq.aliyun.com/articles/531067 摘要: 本文介绍了在使用阿里云Redis的开发规范,从键值设计.命令使用.客户端使用.相关工具等方面进行说明,通过 ...

  8. 【转载】一份完整的阿里云 Redis 开发规范,值得收藏!

    来源:yq.aliyun.com/articles/531067 作者:付磊-起扬 本文主要介绍在使用阿里云Redis的开发规范,从下面几个方面进行说明. 键值设计 命令使用 客户端使用 相关工具 通 ...

  9. windows redis批量删除前缀的key_阿里官方Redis开发规范!

    本文主要介绍在使用阿里云Redis的开发规范,从下面几个方面进行说明. 键值设计 命令使用 客户端使用 相关工具 通过本文的介绍可以减少使用Redis过程带来的问题.一.键值设计1.key名设计 可读 ...

  10. redis 转义字符_一份完整的阿里云 Redis 开发规范,值得收藏!

    来源:yq.aliyun.com/articles/531067 本文主要介绍在使用阿里云Redis的开发规范,从下面几个方面进行说明. 键值设计 命令使用 客户端使用 相关工具 通过本文的介绍可以减 ...

最新文章

  1. 【 MATLAB 】xlim 、 ylim 、zlim简介
  2. 【BZOJ1010】【HNOI2008】玩具装箱(斜率优化,动态规划)
  3. C++ operator操作符重载(++,--,-,+,())
  4. 多个css样式合并到一个“目录”css文件中
  5. 七、Forword(请求转发)与Redirect(重定向)
  6. 结构体03:结构体指针
  7. centos8 yum源配置
  8. 计算机电源安装,手把手教你正确安装主机电源
  9. 分节符、分页符及页眉设置方法
  10. 计算机教室如何防火,校园防火及火灾逃生自救安全常识
  11. pdf转换成jpg python_Python Wand将PDF转换为JPG background
  12. CSS实现3D正方体动态旋转效果【源码+GIF图】
  13. 人人5功盖世时候,我在支持国产
  14. android 高德地图GPS点校正
  15. 计算机专业论文在线教育,在线教育系统 计算机毕业论文.doc
  16. google日历的农历循环提醒
  17. mysql 瘦身_Mysql瘦身方法_MySQL
  18. 《大道至简》的幕后故事(3):“愚公移山记”事物篇
  19. The Missing Semester
  20. Java——Java连接Jira,创建、修改、删除工单信息

热门文章

  1. 全志 Allwinner V3S 开发环境搭建 (二)安装必要工具
  2. weblogic 12c 安装与下载
  3. 慕课软件质量保证与测试(习题集)
  4. 最新服装零售软件管理排名
  5. idea代码格式化代码
  6. BMFont 字体生成工具使用
  7. 货币转换python代码_[Python3 练习] 003 货币转换
  8. 【论文精读】TransE 及其实现
  9. go程序设计语言第十章-包管理和Go工具
  10. 时间表达式java定时器_quartz定时任务时间表达式说明