业务场景
数据使用场景
缓存
搭配持久化存储使用,缓解后端存储服务的压力。随着用户对应用延迟的容忍度越来越低,基于磁盘的随机数据访问性能却没有革命性的提升,数据访问性能成为产品性能短板。使用分布式缓存服务可以将有效访问数据放在缓存,缓存与后端的磁盘存储系统通过同步或异步的机制保持数据一致,大部分的数据访问请求可以直接命中缓存,提供比磁盘访问降低好几个数量级的响应时间,当数据访问请求缓存不命中时,需要访问磁盘存储系统并更新缓存。
键值存储
在需要快速响应的业务中可以将分布式缓存单独使用。随着缓存服务可靠性越来越高,使用越来越方便,当某些产品的数据不需要很强的事物支持、强一致的时候,通过弱化对事务、数据一致性的支持,用户的所有数据全部存放在缓存中,键值存储能够提供丰富的数据存储模式,在互联网场景下对业务更为友好,而且获取到了更高的扩展能力、性能和可靠性。
行业应用场景
Feed 流行业应用
Feed 流行业中存在对 Redis 大量使用,比如可以使用 Redis 过滤用户的下发历史,使用户获取的 Feed 流推荐不重复;Feed 流中各种点赞和评论也可以放在 Redis 中来存储,实现用户和 Feed 流的快速交互。
金融行业应用
在金融行业的风控场景中大量使用 Redis 存储风控的检查项,能实现秒级用户画像;在绑卡流程中,用户的身份信息存储在 Redis 中,达到很好的用户反馈。
AI 行业应用
在各种 AI 对话式服务中,机器人和用户的对话 Session 常存储在 Redis 缓存中,AI 应用能通过 Session 的多次处理实现多轮交互,达到更高水平的智能对话。
访问计数
可利用 Redis 的原子计数, INCR, INCRBY 等命令实现最典型的 Redis 应用,支持过期配置过期策略,并有批量操作支持,可以保证系统拥有高性能。
Profile
借助内置的 Hash 或 List 等数据结构,用于存储个人 Profile,该类数据有读写量大,每条数据长度不大,并且经常会对特定字段更新操作。
排行榜
有关排名或拉链等业务,有排序需求,并且支持实时更新,避免排序逻辑放置在业务代码带来的性能损失。
Cache
相对其他 Cache 类服务,Redis 独有多数据结构支持,高效快捷。Redis 引擎内部支持多种数据淘汰算法。
缓冲队列
可以使用 List 实现简单的数据队列缓存,给系统提供高性能支持。
分布式锁 DLM
对于分布式加锁的业务,Redis 可以提供高性能的分布式锁服务。如:秒杀,全局递增 ID 等。