Files
eagle/pkg/redis

单元测试可以使用 https://github.com/alicebob/miniredis, 可以开启一个本地的模拟redis

案例

Redis 优化方向

参数优化

maxIdle设置高点可以保证突发流量情况下能够有足够的连接去获取redis不用在高流量情况下建立连接

go-redis参数优化

  min_idle_conn: 30               
  dial_timeout: "1s"
  read_timeout: "500ms"
  write_timeout: "500ms"
  pool_size: 500
  pool_timeout: "60s"

redisgo参数优化

maxIdle = 30
maxActive = 500
dialTimeout = "1s"
readTimeout = "500ms"
writeTimeout = "500ms"
idleTimeout = "60s"

使用优化

  • 增加redis从库
  • 对批量数据根据redis从库数量并发goroutine拉取数据
  • 对批量数据大量使用pipeline指令
  • 精简key字段
  • redis的value存储编解码改为msgpack

Pipeline