学无止境

少年辛苦终身事,莫向光阴惰寸功。——唐·杜荀鹤《题弟侄书堂》


数据库优化

redis 数据库优化

尽量使用短的key 不要忘了见key识意
避免使用keys * 这条命令是阻塞就是操作这条命令的时候就不能操作其他的命令
保存数据之前先压缩一次
设置key的有效期,使其自动销毁
选择回收策略,Redis的实例空间被装满之后,会尝试回收一部分数据。
尽可能的使用哈希存储
一次性添加多条数据的时候可以使用管道进行存储
Redis的系统优化
修改Linux中TCP的最大容纳的数量
修改Linux中内核的分配策略
关闭 THP (连续的物理内存巨大的页面)

redis 的性能优化总结

根据业务需要选择合适的数据类型,并为不同的应用场景设置响应的紧凑的存储参数

当业务场景不需要数据持久化时, 关闭所有的持久化方式可以或得最佳的性能以及最大的内存使用量

如果需要使用持久化根据是否可以容忍重启丢失部分数据在快照方式与语句追加方式之间选择其一,不

要使用虚拟内存以及diskstore方式

不要让你的Redis所在机器物理内存使用超过实际内存总量的3/5

mysql 数据库优化

sql 语句优化

索引优化

避免查询时的全盘扫描

增加缓存

读写分离

分区

分布式数据库(垂直分割)

水平切分

MongoDB 数据库优化

mongodb可以通过profile来监控数据,进行优化。

索引优化

数据库设计优化

1、完全分离(范式化设计)
2、完全内嵌(反范式化设计)
3、部分内嵌(折中方案)