面试题:Redis在项目中的使用场景

Redis的数据结构有五种,分别是:String,Hash,list,set,zset。这五种数据结构有各自的使用场景:

1. String

某一IP地址在一个时间段访问很频繁,就要对此进行封锁。Redis中的String数据类型可以通过Incrby命令记录访问次数。

2. Hash

用来存储用户信息[id,name,age];Hset{key,field,value}
例如:Hset{userKey,id,01}
Hset{userKey,name,admin}
Hset{userKey,age,23}
修改方便,例如:Hget{userKey,id}
Hset{userKey,id,02}
为什么不用String类型来存储?
会将userKey对应的值全部进行反序列化,增加了IO次数,降低了系统性能。

3. List

能实现最新消息的排行;还可以利用List中的push命令将任务存在list集合中,同时使用pop命令将任务从集合中取出。
Redis–List来模拟消息队列【电商中的秒杀可采用这种方式来完成一个秒杀活动】

4. Set

可以自动排重。
例如微博中将每个人好友存在Set集合中,取两个人的交集即可求出两个人的共同好友。

5. Zset

可以以某一个条件为权重进行排序。
例如电商上面的综合排名,还可以按自己需求进行价格排名等。 

猜你喜欢

转载自blog.csdn.net/zhw0596/article/details/105768238