码迷,mamicode.com
首页 > 其他好文 > 详细

面试官:Redis有几种数据类型,详细说一下每种数据类型的使用场景

时间:2019-08-30 22:26:48      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:重复   计数   单点登录   com   alt   缓存   基本   数据   差集   

分析

是不是觉得这个问题很基础,其实我也这么觉得。然而根据面试经验发现,至少百分八十的人答不上这个问题。建议,在项目中用到后,再类比记忆,体会更深,不要硬记。基本上,一个合格的程序员,五种类型都会用到。

回答

一共五种

(一)String

技术图片

这个其实没啥好说的,最常规的set/get操作,value可以是String也可以是数字。一般做一些复杂的计数功能的缓存。

(二)list

技术图片

使用List的数据结构,可以做简单的消息队列的功能。另外还有一个就是,可以利用lrange命令,做基于redis的分页功能,性能极佳,用户体验好。

(三)hash

技术图片

这里value存放的是结构化的对象,比较方便的就是操作其中的某个字段。博主在做单点登录的时候,就是用这种数据结构存储用户信息,以cookieId作为key,设置30分钟为缓存过期时间,能很好的模拟出类似session的效果。

(四)set

技术图片

因为set堆放的是一堆不重复值的集合。所以可以做全局去重的功能。为什么不用JVM自带的Set进行去重?因为我们的系统一般都是集群部署,使用JVM自带的Set,比较麻烦,难道为了一个做一个全局去重,再起一个公共服务,太麻烦了。
另外,就是利用交集、并集、差集等操作,可以计算共同喜好,全部的喜好,自己独有的喜好等功能

(五)sorted set

技术图片

sorted set多了一个权重参数score,集合中的元素能够按score进行排列。可以做排行榜应用,取TOP N操作

面试官:Redis有几种数据类型,详细说一下每种数据类型的使用场景

标签:重复   计数   单点登录   com   alt   缓存   基本   数据   差集   

原文地址:https://blog.51cto.com/14230003/2434094

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!