莱莱 发表于 2025-1-11 07:11:59

Redis优化发起详解

Redis优化发起详解

1. 内存优化

1.1 内存配置

设置最大内存
maxmemory 4gb
内存淘汰策略
maxmemory-policy allkeys-lru
样本数量
maxmemory-samples 5
1.2 内存优化策略


[*] 数据结构优化

[*]使用压缩列表(ziplist)
[*]公道设置hash-max-ziplist-entries
[*]使用整数集合(intset)存储整数

[*] 键值设计优化

[*]缩短键名长度
[*]压缩值的内容
[*]使用整数代替字符串

[*] 避免内存碎片

[*]设置合适的maxmemory
[*]定期执行MEMORY PURGE
[*]使用jemalloc内存分配器

2. 持久化优化

2.1 RDB优化


配置自动保存策略
save 900 1
save 300 10
save 60 10000
压缩RDB文件
rdbcompression yes
开启校验和
rdbchecksum yes
2.2 AOF优化

设置AOF策略
appendonly yes
appendfsync everysec
重写配置
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

3. 网络优化

3.1 毗连优化

最大连接数
maxclients 10000
TCP keepalive
tcp-keepalive 300
超时设置
timeout 300
3.2 网络配置优化


[*]系统参数调解
/etc/sysctl.conf
net.core.somaxconn = 2048
net.ipv4.tcp_max_syn_backlog = 2048

[*]网络带宽优化

[*]使用内网通讯
[*]公道设置buffer巨细
[*]启用TCP BBR算法

4. 下令优化

4.1 慢查询优化

设置慢查询阈值
slowlog-log-slower-than 10000
慢查询记录数
slowlog-max-len 128

4.2 下令使用发起


[*] 避免使用伤害下令

[*]KEYS
[*]FLUSHALL
[*]FLUSHDB

[*] 批量操作优化

[*]使用MGET/MSET
[*]使用管道Pipeline
[*]公道使用事务

5. 架构优化

5.1 主从架构优化

主节点配置
min-slaves-to-write 1
min-slaves-max-lag 10
从节点配置
slave-serve-stale-data yes
slave-read-only yes

5.2 集群优化

集群配置
cluster-node-timeout 5000
cluster-migration-barrier 1
cluster-require-full-coverage no

6. 操作系统优化

6.1 系统参数优化

/etc/sysctl.conf
vm.overcommit_memory = 1
vm.swappiness = 0
net.core.somaxconn = 2048

6.2 文件系统优化

调整文件描述符限制
ulimit -n 65535
使用XFS或ext4文件系统
关闭atime更新
mount -o noatime /dev/sda1 /data

7. 应用层优化

7.1 客户端优化


[*]毗连池配置
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(100);
config.setMaxIdle(20);
config.setMinIdle(10);

[*]超时设置
jedis.configSet("timeout", "5000");
jedis.configSet("tcp-keepalive", "300");
7.2 业务优化发起


[*] 缓存策略优化

[*]公道设置逾期时间
[*]使用缓存预热
[*]实施缓存降级

[*] 数据结构选择

[*]String:简单键值对
[*]Hash:对象属性
[*]List:队列操作
[*]Set:去重功能
[*]Sorted Set:排行榜

8. 监控优化

8.1 性能指标监控

监控命令
redis-cli info | grep instantaneous_ops_per_sec
redis-cli info | grep used_memory
redis-cli info | grep connected_clients

8.2 告警阈值设置


[*]关键指标

[*]CPU使用率 > 80%
[*]内存使用率 > 90%
[*]毗连数 > maxclients的80%
[*]慢查询数量突增

9. 开发规范

9.1 键值设计规范


[*] 命名规范

[*]业务名:表名:id
[*]使用冒号分隔
[*]同一小写

[*] 逾期时间规范

[*]同一设置逾期时间
[*]避免永久键
[*]使用EXPIRE设置逾期

10. 运维优化

10.1 部署优化


[*] 硬件选择

[*]使用SSD
[*]足够的内存
[*]高性能CPU

[*] 网络部署

[*]主从同机房
[*]专用网络
[*]冗余链路

10.2 备份策略

自动备份脚本
#!/bin/bash
redis-cli BGSAVE
cp dump.rdb /backup/redis_$(date +%Y%m%d).rdb


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Redis优化发起详解