面试题:redis 都有哪些数据类型?分别在哪些场景下使用比较合适?

640?wx_fmt=gif

面试题

redis 都有哪些数据类型?分别在哪些场景下使用比较合适?

面试官心理分析

640?wx_fmt=png

面试题剖析

redis 主要有以下几种数据类型:

  • string

  • hash

  • list

  • set

  • sorted set

string

这是最简单的类型,就是普通的 set 和 get,做简单的 KV 缓存。

640?wx_fmt=png

hash

这个是类似 map 的一种结构,这个一般就是可以将结构化的数据,比如一个对象(前提是这个对象没嵌套其他的对象)给缓存在 redis 里,然后每次读写缓存的时候,可以就操作 hash 里的某个字段

640?wx_fmt=png

list

list 是有序列表,这个可以玩儿出很多花样。

比如可以通过 list 存储一些列表型的数据结构,类似粉丝列表、文章的评论列表之类的东西。

比如可以通过 lrange 命令,读取某个闭区间内的元素,可以基于 list 实现分页查询,这个是很棒的一个功能,基于 redis 实现简单的高性能分页,可以做类似微博那种下拉不断分页的东西,性能高,就一页一页走。

640?wx_fmt=png

比如可以搞个简单的消息队列,从 list 头怼进去,从 list 尾巴那里弄出来。

640?wx_fmt=png

set

set 是无序集合,自动去重。

640?wx_fmt=png

把两个大 V 的粉丝都放在两个 set 中,对两个 set 做交集。

640?wx_fmt=png

sorted set

sorted set 是排序的 set,去重但可以排序,写进去的时候给一个分数,自动根据分数排序。

640?wx_fmt=png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值