亲宝软件园·资讯

展开

Redis 使用总结

alin_qu 人气:1

1. 避免大key

  • 危害:
    • 数据热点问题,集群模式在slot分片均匀情况下,会出现数据和查询倾斜情况,部分有大key的Redis节点占用内存多,QPS高
    • 慢查询问题,服务超时
    • 网卡带宽压力,极端情况下会打满带宽

2.使用优化

  • 过期时间
    • 为大key或者特定业务设置合理过期时间,避免同一时间大量过期。同时 也可以避免回源速度过快
  • 合理设置数据结构
    • 尽可能使用 hash
    反例:
    set user:1:name Amy
    set user:1:age 20
    set user:1:favor music
    
    正例:
    hmset user:1 name Amy age 20 favor music
  • 使用批量命令
    案例1
    SET->MSET GET->MGET LSET->LPUSH LINDEX->LRANGE HSET->HMSET HGET->HMGET

    案例2
    同时设置过期时间value与expire时间: SET key value [EX seconds] [PX milliseconds] [NX|XX]

3.错误的使用方式

  • 使用Redis作为队列服务
    • 由于Redis队列中数据是不能重复消费的
  • 使用 Redis pub/sub做消息服务
    • 由于消息传递没有ack机制,不能保证到达率

加载全部内容

相关教程
猜你喜欢
用户评论