冬雨财经 发表于 2025-3-25 08:48:13

4个全部开发人员都应该知道的关键API缓存实践

 假如精确实行,API缓存可以提高应用程序的性能和相应时间,但只有在精确实行的环境下才可以。了解一些值得实现的缓存工具和技术。
当精确实行和测试时,API缓存可以减少应用程序的负载并提高相应性。但是,假如缓存问题没有得到妥善解决和测试,它大概导致不可管理的负载、连锁故障,终极导致应用程序崩溃。
许多管理工具(包括开源工具)可以轻松地与应用程序集成以实行API缓存过程。有了精确的工具和技术组合,开发和测试团队可以确保缓存正常工作,不会无必要地消耗应用程序性能。
什么是API缓存?

API缓存是一种将常用对象放在辅助数据存储中的过程,以避免连续调用主数据库或任何其他范例的数据存储。缓存的主要优点是处理速度,因为它允许应用程序从它可以快速轻松访问的源获取常用哀求对象。
在主数据存储和缓存之间举行选择取决于速度与大小。主数据库中的数据大概具有更多的布局和可搜索性,但仍然大概比专用缓存更难访问。 
确定基准性能 

在将API缓存集成到应用程序时,开发人员应该考虑测试是一个前端首要关注的问题。起首,重要的是要有一个理解性能基准的熟悉,特别是要比较应用程序缓存启用和不启用缓存的性能。 
起首,开发人员可以使用Apache JMeter或Locust等工具针对API哀求创建负载测试。这两个开源工具让开发人员可以调解API哀求数量来模仿差别范例用户的各种哀求负载。这些早期负载测试的结果可以提供应用程序性能的基准。
一台计算机的网络带宽、延迟和处理本领会对生成的哀求负载量产生重大影响。开发人员在比较负载测试结果时必须注意这一点,因为一次运行到另一次运行的结果大概不能证实是一个有效的比较。为了避免这种差异,可以考虑添加一个基于云的负载测试工具,使用稳固的、隔离的服务器,提供一致的网络带宽和延迟。BlazeMeter或CloudTest就是一些能做到这点的好工具例子。
运行哀求的测试场景 

获取基准测试后,开发人员可以实行缓存并重新评估应用程序的性能。理想环境下,应用程序处理压力下负载的本领应该会提高,性能总体也会提高。不过,无论性能怎样,团队都应该验证哀求返回的相应,以确保缓存的举动正常。 
确认这一点的一种方式是创建检查更新值的测试场景,开发人员可以在几个步骤内运行这些测试场景。比方:
配置一组哀求专门使用应用程序的缓存。 
在应用程序的主数据库中更新一个值。 
在缓存的预期过期时间后发送一个哀求,以验证返回了更新的值。 
根据缓存的实行环境,开发人员也可以运行测试场景来验证某些功能。
使用键值存储 

许多开源缓存工具(比方Memcached)使用键值方法在内存中填充缓存,因为哀求会通过。在缓存中不存在值之前,应用程序会检查缓存中的指定键,该键标识要作为相应的一部分返回的对象。 
假如缓存中没有相应的键,该工具将查询数据库并提供一个相应用于缓存,以及相应的键。随后的哀求将不需要查询数据库,因为它们现在已存储在缓存中。
避免雷打不动的问题 

假设有10台服务器每台都运行相同的网页应用程序。网页存储在缓存中,缓存设置为每5分钟过期一次,以确保用户始终看到网页的最新版本。缓存大概会在这10台服务器仍处于高负载下过期,导致每台服务器同时查询缓存,找不到网页并尝试直接访问主数据库。
在如此高负载下举行缓存(特别是在分布式系统中),大概会导致所谓的雷打不动的问题。允许10台服务器同时查询数据库会产生高负载,计算量大的查询很容易导致连锁哀求超时,因为数据库继续努力。此外,当这些失败的哀求重试时,它们将继续给数据库带来更多负载,并大概使应用程序无法使用。
荣幸的是,有几种方法可以避免雷打不动的环境。比方,锁定缓存以确保只有一个历程可以一次更新缓存。有了锁定机制,试图更新缓存的应用程序可以使用之前存储的值,直到更新完成。开发人员也可以使用外部历程来更新缓存,而不是依靠应用程序自己。
另一种有用的方法来避免雷打不动的是在缓存过期时间临近时更新缓存过期时间到猜测值。在这种环境下,依靠缓存的应用程序也可以计算预期过期时间,提供确保它们不会同时过期的更好方法。
总之,选择精确的缓存工具和策略,并在实行缓存时举行全面测试,这些都是构建健壮、高性能应用程序的关键。缓存可以大大改善性能,但只有在仔细规划和监控的环境下才能发挥最大结果。
末了: 为了回馈铁杆粉丝们,我给各人整理了完整的软件测试视频学习教程,朋侪们假如需要可以自行免费领取【保证100%免费】
https://i-blog.csdnimg.cn/blog_migrate/69d8f0d9807ca72d5525111ba8f515a3.png#pic_center
这些资料,对于【软件测试】的朋侪来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰巨的路程,盼望也能资助到你!
软件测试面试文档

我们学习一定是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权势巨子的解答,刷完这一套面试资料信赖各人都能找到满意的工作。
https://i-blog.csdnimg.cn/blog_migrate/a46bdc1ffca6f2312f4ff41c372a5ad4.png#pic_center
面试文档获取方式:

https://i-blog.csdnimg.cn/blog_migrate/bfbc7c5c3d97596edc8532ba1cd796f7.gif
https://i-blog.csdnimg.cn/blog_migrate/7b0c1d912b394f112f0ab5718eae13fa.gif


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 4个全部开发人员都应该知道的关键API缓存实践