Redis 在 SNS 类应用中的优异实践有哪些

Redis 在 SNS 类应用中的优异实践有:1、消息队列(通知类、延迟更新类);2、热点数据的实时缓存(比如feed,数据库、缓存同时写);3、热点列表数据缓存(首页、热门话题等);4、counter(计数器,大多是用缓存实现的)。

Redis 在 SNS 类应用中的优异实践有哪些-Worktile社区

一、Redis 在 SNS 类应用中的优异实践

  1. 消息队列(通知类、延迟更新类);
  2. 热点数据的实时缓存(比如feed,数据库、缓存同时写);
  3. 热点列表数据缓存(首页、热门话题等);
  4. counter(计数器,大多是用缓存实现的)。

二、Redis适合做什么

  1. 缓存,Redis本身是内存数据库,注定有极高的读写速度和吞吐,加上数据过期功能以及完善的数据淘汰策略使得Redis拥有与生俱来的缓存潜质。
  2. 排行榜系统,Redis提供了zset、list等复杂数据结构,以及极佳的性能,可以做出时间、数量等各种维度的排行榜系统。
  3. 计数器系统,对于视频(音乐)网站的视频播放量、网页浏览量等高频操作,传统的关系型数据库不能够满足需求,Redis本身的incr、incrby等命令很好的支持了这计数功能。
  4. 社交网络,Redis支持多种复杂数据结构,比如一个用户有自己的粉丝,同时也会关注其他人,这些多可以使用set来存储,如果需要有序,可以使用zset来存储,这些复杂的数据结构传统的关系型数据库并不能很好的支持,同时,由于社交网络网站本身访问量比较大,传统数据在性能上也是不能够满足的。
  5. 消息队列,Redis提供了消息队列功能,能够满足一般的消息队列需求。
  6. 分布式锁,Redis提供了SET key value [EX seconds] [PX milliseconds] [NX|XX]命令,以及Lua脚本功能,基于此能够很好的实现分布式锁功能。

三、Redis 不适合做什么

  1. Redis是内存数据库,相比磁盘类型的数据库成本要高不少,注定了Redis不能用于存储大规模的数据。
  2. Redis有足够高的性能,因此对于热数据能够很好满足需求,但如果冷数据存在Redis里不免过于浪费。
  3. Redis数据存储在内存中,对于可用性要求极高,且需要永久保存的数据不建议放在Redis中,虽然Redis提供持久化、复制等功能保证数据落盘,但持久化、复制等也存在时间差,这段时间的数据也不是能够完全保证不丢失的。
  4. Redis是单线程的,对于数据比较大的数据的读写操作会阻塞整个数据库,因此Redis不适合存储单个value比较大的数据。

延伸阅读

Redis特性

  1. Redis是一直基于键值对NoSQL数据库
  2. Redis支持5种主要数据结构:string、hash、list、set、zset以及bitmaps、hyperLoglog、GEO等特化的数据结构;
  3. Redis是内存数据库,因此它有足够好的读写性能;
  4. Redis支持持久化,redis支持AOF和RDB两种持久化方式,确保了内存中的数据不会“丢失”;
  5. Redis的sentinel和复制功能保证了Redis的高可用;
  6. Redis支持key维度的数据过期;
  7. Redis支持发布订阅、“事务”、pipeline、Lua脚本等附加功能。

文章标题:Redis 在 SNS 类应用中的优异实践有哪些,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/34721

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Z, ZLWZ, ZLW认证作者
上一篇 2023年1月8日 上午6:07
下一篇 2023年1月8日 上午6:26

相关推荐

  • ug编程选什么刀

    在UG编程中,选择合适的刀具对于提高加工效率、保证加工质量至关重要。 最常用的有1、球头刀,2、平头刀和3、锥形刀。球头刀因其独特的形状,特别适用于加工复杂的三维曲面。它能够有效地完成高质量的表面加工任务,同时保持较好的加工效率,特别是在加工曲率较大的部分时,球头刀的表现尤为突出。 一、球头刀的应用…

    2024年4月26日
    6200
  • 什么编程软件通用

    什么编程软件通用 在众多的编程软件中,有三种是广泛认可的、应用最为广泛的:1、Visual Studio Code、2、IntelliJ IDEA、3、PyCharm。 对于这三种软件中的第一种,Visual Studio Code,它因其轻量、高度可定制性和强大的插件生态系统而受到开发者的青睐。V…

    2024年5月2日
    4600
  • 宝马新3系编程后影响什么

    宝马新3系编程可能影响车辆的系统配置、功能增强、个性化设置和潜在错误修复1、系统配置,2、功能增强,3、个性化设置,4、潜在错误修复。 在进行编程之后,最显著的变化可能是系统配置方面,这包括对车辆的硬件和软件参数进行修改。例如,编程可以升级引擎控制单元(ECU)的软件,从而优化车辆的性能和燃油效率。…

    2024年4月29日
    3800
  • 腾讯公司用什么编程软件

    腾讯公司使用多种编程软件,包括但不限于1、Visual Studio、2、Eclipse、以及3、IntelliJ IDEA。这些工具各有所长,在不同的项目和环境中发挥重要作用。其中,Visual Studio 是一个广泛应用于Windows平台的开发环境,支持多种编程语言,如C#、C++和VB.N…

    2024年5月7日
    900
  • devops什么意思怎么读

    DevOps定义为一种文化与实践,旨在提升软件开发(Development)与信息技术运营(Operations)的协作与整合,以实现更快速、更高效的软件交付和部署。阅读方式:该词汇以”迪诺普斯”的方式发音。 DevOps是将“Development(开发)”与“Operat…

    2024年3月26日
    11000
  • 数控编程的方法有什么

    数控编程的常见方法包括3种:1、手工编程;2、使用CAM软件;3、采用自动编程技术。 手工编程是编程者直接对机床进行编程操作,得出控制机床运动的指令代码。这种方式对编程者的技术要求较高,不适合复杂零件的编程工作。尽管如此,手工编程依然在简单零件加工和学习数控编程的基础阶段发挥着积极作用,因为它有助于…

    2024年5月6日
    1100
  • 初创企业与大企业研发管理的区别

    初创企业和大企业在研发管理方面的区别体现在多个层面。初创企业通常资源有限,但行动迅速灵活,具有较高的创新能力和适应性;而大企业则拥有丰富资源,流程标准化,具备较强的市场影响力。与大企业不同,初创企业在研发管理上主要表现在:1、资源配置,初创企业需更关注成本效益,倾向于短期项目;2、决策速度,创业公司…

    2023年11月14日
    38400
  • 小猴子编程软件叫什么

    小猴子编程软件叫CodeMonkey。 CodeMonkey是一个在线平台,致力于教授孩子们编程知识和技能。它以有趣的游戏化方式引导儿童学习编程的基础概念,涉及的语言包括Python和CoffeeScript。通过构建游戏和解决谜题,CodeMonkey鼓励儿童思考并发展逻辑和计算思维能力。 Cod…

    2024年5月7日
    1300
  • 编程什么最好做

    优先选择语言和技术栈取决于项目需求、个人技能以及市场需求。例如,1、对于快速开发和原型制作,Python和JavaScript通常是首选;2、对于系统编程和高性能需求,可能会选用C或C++。 在考量编程语言和技术栈时,了解项目的细节至关重要。以Python为例,它是一种高层次的脚本语言,拥有广泛的库…

    2024年5月2日
    3500
  • plc编程mt表示什么

    PLC编程中,MT通常表示机器周期时间或计时器。以MT为例进行详细描述,它是一个重要的参数,特别是在包含各种机械动作控制的自动化系统中。机器周期时间是指一个完整的工作循环内所需的时间,通常用于性能分析与调优,以确保生产线的高效运行。而计时器则是PLC编程中用以管理事件顺序、测量时间间隔及执行延时操作…

    2024年4月26日
    5300

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部