数据结构 |
场景举例 |
详情 |
评论 |
---|---|---|---|
string | 点评数/点赞数 |
incr review9527 | |
hash | 用户信息管理 |
用hash来存储用户信息,比如用户id9527 hset user9527 name xiaoqiang hset user9527 sex male hset user9527 age 23 hset user9527 city shanghai |
对比把整个User序列化存储成string类型: 优点:hash类型能够支持部分获取,通过hget只获得关心的数据,不用全量获取。对redis负载,网卡负载都是一种优化。 缺点:如果要获取多个字段或者set多个字段会比较麻烦。 |
list | 最新评论 |
比如, lpush latest.comment "星期一天气好" lpush latest.comment "星期二天气好" lpush latest.comment "星期三天气好" .... lrange latest.comment 0 2 | 切忌不要有太大的list。会不利用扩容迁移。 |
set | 好友关注 |
比如好友rose的关注列表, sadd user_rose jack sadd user_rose tom | 需要注意如果有热点用户,关注列表非常大的时候,调用set的O(N)的操作需要特别注意。会有性能问题。 |
sortedset | 积分排行 |
比如, zadd rank 1000 tom zadd rank 1200 jack zadd rank 1100 lucy ..... zrangeByScore rank -inf +inf |
需要注意的是,如果这个操作QPS很高,并且zset里面的元素也很高,这个并发量是上不去的。 |
hyperloglog | |||
geo |
redis使用场景
最新推荐文章于 2025-04-15 22:43:49 发布