Redis性能优化
客户端优化
- Pipeline批量操作
- 连接池的应用
设置合理的淘汰机制
- 设置合理的内存大小
- 设置合理的过期时间 (设置的太久,久而久之内存空间不够用了,设置的太短,key失效就会频繁的出现淘汰策略)
- 选择合适的淘汰策略
key与value的优化
Key设计
- 可读性和可管理性,以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如 业务名:表:id
- 简洁性,保证语义的前提下,控制key的长度,当key较多时,内存占有也不容忽视
- 不要包含特殊字符,比如:包含空格、换行、单双引号以及其他转义字符
Value设计
- 拒绝Bigkey(防止网卡流量、慢查询),string类型控制在10kb以内,hash、list、set、zset元素个数不要超过5000。
- 选择合适的数据类型
- 控制key的生命周期(设置有效时间),redis不是垃圾桶
BigKey的优化
什么样的Key才算是Big Key呢?
一般情况下,当key的值大于10Kb时就可以算是Big Key了。