本文主要介绍阿里云Redis的开发规范,主要从以下几个方面说明:

  1、键值设计

  2、命令使用

  3、客户端使用

  4、相关工具

一、键值设计

1、key name设计

  1).[建议]:可读性和可管理性

以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id

ugc:video:

  2).[建议]:简洁性

保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如:

user:{uid}:friends:messages:{mid}简化为u:{uid}:fr:m:{mid}。

  3).[强制]:不要包含特殊字符

反例:包含空格、换行、单双引号以及其他转义字符

2、value设计

  1).[强制]:拒绝bigkey

string类型控制在10KB以内,hash、list、set、zset元素个数不要超过5000。

反例:一个包含200万个元素的list。

  非字符串的bigkey,不要使用del删除,使用hscan、sscan、zscan方式渐进式删除,同时要注意防止bigkey过期时间自动删除问题(例如一个200万的zset

设置1小时过期,会触发del操作,造成阻塞,而且该操作不会不出现在慢查询中(latency可查)),查找方法和删除方法

未完待续。。文章转载自:https://yq.aliyun.com/articles/531067

最新文章

  1. C#中ToString()格式详解
  2. 写了个项目 Web-Rtmp: 使用 WebSocket 在网页上播放 RTMP 直播流
  3. SQL Server 存储过程生成insert语句
  4. 解决一阻塞语句CPU直降15%
  5. IOS BLE蓝牙4.0
  6. dic+css页面布局分享
  7. jQuery Jcrop API参数说明(中文版)(转)(图片剪切)
  8. How to: Reading an ini config file from a batch file
  9. eclipse import的项目报autowired cannot be resolved to a type的错误
  10. [c#]asp.net开发微信公众平台(6)阶段总结、服务搭建、接入
  11. web标准(复习)--7 横向导航菜单
  12. Windbg调试命令详解(1)
  13. Nlpir Parser智能语义分析系统文本新算法
  14. python---面向对象高级进阶
  15. Vmware虚拟中克隆主机没IP地址?怎么解决?
  16. 连接SQLsever数据库在C#中不能操作的问题
  17. python第四十一天---作业:简单FTP
  18. COM口总是有惊叹号怎么办
  19. mongodb常用查询
  20. PostgreSQL 数据库错误代码解释

热门文章

  1. 网页设计中11 款最好CSS框架
  2. java poi excel导入模板设置下拉框
  3. 移动前端第一弹:viewport详解
  4. mac+php+xdebug
  5. KeepAlived的实现示例
  6. bzoj 1682: [Usaco2005 Mar]Out of Hay 干草危机【并查集+二分】
  7. P3469 [POI2008]BLO-Blockade(Tarjan 割点)
  8. StackOverflow 创始人关于如何高效编程的清单
  9. [C和指针] 1-快速上手、2-基本概念、3-数据
  10. hdu2033