Redis 使用总结

Posted alin-qu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis 使用总结相关的知识,希望对你有一定的参考价值。

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机制,不能保证到达率

以上是关于Redis 使用总结的主要内容,如果未能解决你的问题,请参考以下文章

python常用代码片段总结

BootStrap有用代码片段(持续总结)

BootStrap实用代码片段(持续总结)

回归 | js实用代码片段的封装与总结(持续更新中...)

ELK性能优化实战总结:java私塾初级模拟银源代码

查看发票组代码后的总结和有感