今天爱分享给大家带来redis应用场景有哪些?【最新最详细】,希望能够帮助到大家。
数据缓存
redis访问速度块、支持的数据类型比较丰富,所以redis很适合用来存储热点数据,另外结合expire,我们可以设置过期时间然后再进行缓存更新操作。
共享session
出于负载均衡的考虑,分布式服务会将用户信息的访问均衡到不同服务器上,用户刷新一次访问可能会需要重新登录,为避免这个问题可以用redis将用户session集中管理,在这种模式下只要保证redis的高可用和扩展性的,每次获取用户更新或查询登录信息都直接从redis中集中获取。
限时限速业务
redis中可以使用expire命令设置一个键的生存时间,到时间后redis会删除它。
应用:限时的优惠活动信息、限制用户获取手机验证码的频率
计数器
redis的incrby命令可以实现原子性的递增
应用:运用于高并发的秒杀活动、分布式序列号id的生成、限制接口的条用次数
排行榜
redis的SortedSet有序集合的score是排序的依据。
分布式锁
Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。设置成功,返回 1 。 设置失败,返回 0
应用:分布式定时任务,两台服务器具有同样定时任务,要求2小时执行一次(只允许一台服务器上定时任务执行,不能重复执行)。通过setnx设置一个key-value,执行Setnx dsrw _key run ,如果设置成果,则执行定时任务,如果设置失败,则表明该定时任务已执行。并且可以给这个key设置一个过期时间,2小时。
队列
redis有list push和list pop这样的命令,所以能够很方便的执行队列操作