redis常见的几种使用场景

排行榜top100

相关函数 zAdd + lRange

使用方式 使用zAdd记录每个value的分数值,字段即可实现排序,再进行lRange进行取前100,就实现了排行榜的效果

计数器

相关函数 incr + decr

使用方式 设置一个初始值为1的key,对其进行incr/decr操作,进行计数的功能。

队列

相关函数 rPush + lPop + lSize

使用方式 对一个key进行rPush关键字,再lPop取出关键字进行相关的业务处理,直至lSize为0

接口频率限制

相关函数 incr + expire

使用方式 根据ip与时间(粒度可自定义,比如每小时)为key值进行incr计数,并设置expire有效时间,在有效时间内次数大于阀值则给相关的限制

数据池

相关函数 hSet + hLen + hKeys

使用方式 根据key值进行hSet设置数据池中的数据,hLen查询数据池的数量,若有则hKeys取之

在线时长

相关函数 setEx + get + set + hIncrBy + incrBy + ttl + expireAt + hGetAll

使用方式 先setEx记录上一次操作时间,并用get获取与当前时间对比,若低于某阀值,则视为在线,set更新上一次在线时间,同时hIncrBy当前小时的在线时长(注意59分的情况),incrBy当天总的在线时长,ttl检测总时长是否设置了过期时间(以免垃圾数据),并expireAt设置到某时过期,另走队列hGetAll取出当天每小时的在线时间进行记录。


转自:http://blog.csdn.net/u011957758/article/details/50901022

你可能感兴趣的:(redis)