• Redis 是什么和使用场景概述(技术选型)


    一、Redis 是什么

         Redis是一款开源的高性能键值存储系统。它支持多种数据结构,如字符串、列表、集合、哈希表、有序集合等,并提供了丰富的操作命令和功能。Redis的主要特点包括:

    1. 内存存储:Redis将数据存储在内存中,因此读写速度非常快。同时,Redis还可以将数据持久化到磁盘,以确保数据的可靠性。

    2. 丰富的数据类型:Redis支持多种数据类型,每种类型都有相应的操作命令,使得存储和使用各种复杂结构的数据变得更加简单和高效。

    3. 缓存功能:由于Redis的高速读写和灵活的数据结构,它经常被用作缓存系统。将热门数据存储在Redis中,可以显著提高访问速度,并减轻后端数据库的负载。

    4. 发布订阅系统:Redis支持发布订阅模式,可以实现消息的推送和订阅,用于构建实时聊天、消息队列等应用。

    二、使用场景概述

    根据上述特点,Redis适用于以下场景:

    1. 缓存:Redis作为缓存系统,可以提供快速读取和写入操作,降低后端数据库的负载,提高应用的响应速度。

    2. 会话存储:将用户会话数据存储在Redis中,可以实现快速的用户身份验证和状态管理。

    3. 消息队列:利用Redis的发布订阅功能,可以实现高性能的消息队列,用于异步任务处理、事件触发等场景。

    4. 计数器和排行榜:Redis的原子操作和有序集合功能,使其可以高效地实现计数器和排行榜,如文章点赞数统计、热门排行等。

    5. 实时数据分析:将实时产生的数据存储在Redis中,可以进行复杂的数据分析和统计,得出实时的业务指标和数据报表。

     

    电商行业

    • 电商应用的商品数据具有较为明显的冷热特征,使用 Redis 后,热门商品信息作为热数据驻留在内存中,冷门商品信息会置换到共享存储池中,这样既满足了热门商品的快速访问需求,又解决了海量商品数据纯内存存储成本高的问题。
    • 电商应用的海量历史订单数据,可使用 Redis 进行持久化存储。通过Redis接口完成数据存取,可支持TB级海量数据存储。
    • 电商大促活动会导致短时间出现大量并发访问,可选择 Redis 作为前端缓存(需要配置大内存),帮助后端数据库抗过业务高峰。Redis 可针对计算节点一键式秒级无损扩容的特点,也可以帮助客户更加从容的应对此类计划性的流量突发行为。

    游戏行业

    • 游戏业务数据Schema较为简单,可选择 Redis 作为持久化数据库,通过使用简洁的Redis接口快速完成业务开发上线。例如,可使用Redis的有序集合结构完成游戏排行榜的实时展现。
    • 对于时延非常敏感的游戏场景,也可以使用 Redis 作为前端缓存(需要配置大内存),加速应用访问。

    视频直播

            热门直播间往往占据了视频直播应用的大多数流量,使用 Redis,可以更加有效的利用有宝贵的内存资源,通过在内存中保留热门直播间数据,在共享存储中保留冷门直播间数据,为客户降低使用成本。

    在线教育

            在线教育应用的特点是,系统中存储有大量的课程,试题,解答等信息,但通常只有热门数据(包括热门课程,最新题库,名师讲解等)会被高频访问。使用 Redis,可以有效的根据数据的热度,决定存入内存或共享存储,实现性能与成本的平衡。

    私域数据智能问答

            目前开源的大语言模型只能够回答普世性的问题。Redis 向量检索可以构建垂直专业领域的智能问答机器人。Tair 向量检索与大模型组合,摆脱 LLM 的 Token 数限制,提供多轮对话能力的长期上下文感知能力。

    其他需要支持持久化存储的应用

            除上述场景外,各种大型应用对持久化存储的需求与日俱增,具体来说,需要存储包括:历史订单、特征工程、日志记录、位置坐标、机器学习、用户画像等信息在内的海量数据。这些数据的共同特点是:数据量大,有效期长,需要一个支持大容量,低成本的key-value存储服务完成数据的采集和流转。Redis作为当前应用最为广泛的key-value服务,其丰富的数据结构和操作接口对于存储此类数据具有先天优势,但由于原生Redis只能作为缓存,因此无法在持久化存储领域发挥作用。

            综上所述,Redis适用于需要高性能、高并发读写、多数据类型支持和数据结构灵活的场景。在缓存、会话存储、消息队列、计数器和实时数据分析等方面,Redis是一种常见的技术选型。

  • 相关阅读:
    详解小波变换在图像分解中的应用
    字节跳动 CEO 梁汝波发内部信:头条、西瓜、搜索等业务并入抖音
    【Spring Boot】Day01
    《搞定音频技术》
    固定代码移动到0000:0200
    【ES】笔记-数值扩展
    解决Selenium在运行中出现浏览器页面崩溃,最后导致丢失session id的问题。
    微信小程序实现数值监听(页面和组件属性)
    kafka学习笔记04(小滴课堂)
    卷麻了,00后测试用例写的比我还好,简直无地自容......
  • 原文地址:https://blog.csdn.net/weixin_49171365/article/details/133072229