Redis 使用总结
alin_qu 人气:11. 避免大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机制,不能保证到达率
加载全部内容