redis|intset

INTSET

intset是集合键的底层实现之一, 保存的元素是有序的。可作为集合键底层实现, 如果一个集合满足以下两个条件:

……

阅读全文

redis|ziplist

ZIPLIST作用

当list键、hash键、zset键包含元素较少时,并且每个元素是小整数或者长度较小的字符串,则redis将会使用ziplist作为底层键的存储实现。其作用当然是节省内存空间

……

阅读全文

mysql|使用注意

设计

  1. 设计的合理性,能否容忍冗余字段,尽量一张表,方便开发
  2. 考虑使用记录表,记录一些查询和修改的记录信息
  3. 考虑业务的使用情况,设置相关索引,加速查询和修改
  4. 分库分表的合理性
  5. 存储量的预估
  6. 业务访问量的预估,是否会造成db的压力

使用

  1. 使用时间戳存储时间
  2. 使用datetime等时间格式,注意时区问题,注意设置数据库的时区
  3. 字符集问题注意
  4. 根据业务的qps和服务器的性能,合理设置连接池大小和链接时间、读取写入时间、超时时间
  5. 修改和删除数据时一定要加where语句
  6. 修改和删除时一定要先使用limit测试
……

阅读全文

mysql|explain

explain

explain显示了mysql如何使用索引来处理select语句以及连接表,可以帮助选择更好的索引和写出更优化的查询语句。

……

阅读全文

mysql|join

join流程分类

Index Nested-Loop Join

分析语句select * from t1 straight_join t2 on (t1.a=t2.a);

……

阅读全文