redis常见应用场景有哪些?

大家好!我是andy哥,有8年java

开发和2年微服务架构开发经验的开发者。今天我要介绍的是redis,redis是我们在微服务中使用比较多的一种缓存中间件。

redis有哪些应用场景呢?大家思考一下

下面列出我常用或了解的应用场景:

  1. redis用作缓存,她可以看做是一个内存数据库。一些读多写少的数据放置其中,可以减少数据库频繁访问读取的压力。内存肯定比磁盘io速度要快


  2. redis分布式锁。众所周知,分布式应用场景无法保证数据安全问题,分布式锁有常见方案:基于mysql的分布式锁,基于zookeeper分布式锁,基于redis的分布式锁,基于redis分布式锁一般用得最多。主要基于setnx expire


  3. 分布式计数器 基于incr原理 每次访问不断累加,可以统计网站访问量,阅读量,点击量


  4. 分布式限流 基于incr和expire原理 通过累计单位时间请求次数达到限流


  5. 位统计 打卡和留存统计


  6.全局ID 基于incr原理


  7.发布订阅  类似若消息队列,没有ack机制可能存在消息丢失


  8.购物车  基于redis hash数据结构 用户id作为key, 商品id作为field


  9.分布式回话 基于redis string的数据结构


10.geo 实现附近人,摇一摇功能


12.排行 基于zset数据结构


13.阻塞消息队列 


14.redis实现乐观锁 基于watch


15.hyperlog基数统计 统计用户uv,统计访问ip数(可以实现和bitmap类似的功能更省空间)


16.sadd 实现点赞、签到、like等功能


17.实现列表一对多


18.抽奖  set实现抽奖


19.sadd  关注和推荐


20.list结构 双向链表

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容