上周,.NET团队宣布发布了一个新的.NET 9库Hybridcache,现在通过Microsoft.extensions.caching.hybrid软件包获得。根据消息来源,该库旨在通过组合内存和分布式缓存(例如Redis)来增强数据存储和检索性能。这种方法旨在确保应用程序的最佳性能和安全性,无论其规模或复杂性如何。
正如所解释的那样,Hybridcache通过减少样板代码的需求,例如对象序列化,高速缓存模式实现和数据一致性管理来简化共同的开发任务。通过集成内存和分布式高速缓存商店,据称Hybridcache可以提高应用速度和响应能力。特别建议使用涉及复杂数据查询,在微服务架构中运行或需要实时数据处理的ASP.NET核心应用程序的开发人员。
Hybridcache的关键功能包括其与Redis,SQL Server,CosmosDB和Garnet等现有高速缓存后端的兼容性。此外,该库提供了简单的API,Cache-Stampede Protection和使用标签的缓存无效。它还提供了对较新的缓存API的支持,例如IbufferDistributedCache。此外,Hybridcache允许灵活的序列化选项,包括JSON和ProtoBuf,同时确保默认情况下确保安全的数据处理和身份验证。
如报道,Hybridcache的显着特征之一是其所谓的缓存保护保护。当多个客户端从缓存到期后同时请求相同的数据时,就会发生缓存Stampede。这通常会导致冗余计算和数据库查询,这可以减慢Web应用程序。
根据消息来源,Hybridcache通过确保在到达相同数据的多个请求时解决了这个问题,仅执行一个计算。然后将结果返回到所有排队的请求,减少不必要的负载并维护数据一致性。
此外,Hybridcache可以使用标签实现缓存无效,该标签是将缓存数据分类的字符串值。此功能简化了批量管理和删除缓存项目。开发人员现在可以删除具有特定标签或单个API调用的一组标签的所有项目,而不是删除单个缓存条目。根据文档,这种方法提高了效率,尤其是在处理大量缓存数据时。
重要的是要注意,当缓存条目被密钥或标签无效时,它们将从当前服务器及其次要的隔壁存储中删除。但是,其他服务器上的内存缓存仍未受到影响。
Hybridcache与较旧的.NET Runtimes兼容,包括.NET Framework 4.7.2和.NET Standard 2.0,这使得广泛的开发人员可以使用。
关于可扩展性,该库包括杂交摘要类的具体实现,该类别通过依赖注入提供。开发人员还可以自由为特定用例创建API的自定义实现。
Microsoft提供了详细的文档,供有兴趣的读者探索有关Hybridcache功能的更多信息。