基于选项模式实现.NET Core的配置热更新( 五 )

{ configurationBuilder.AddRedisConfiguration(new Models.RedisConfigurationOptions { AutoReload = true, ConnectionString = "127.0.0.1:6379", HashCacheKey = "aspnet:config", HashCacheChannel = "aspnet:config:change" }); }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup; });假设现在Redis里存储着下图所示的信息:
基于选项模式实现.NET Core的配置热更新文章插图
相应地 , 我们可以在Startup中进行绑定:
services.Configure(Configuration.GetSection("App"));调一下接口看看?完全一致!Yes!
基于选项模式实现.NET Core的配置热更新文章插图
本文小结回想起这个面试中“邂逅”的问题 , 针对对这块内容 , 其实当时并没有和面试官进行太深的交流 , 提到了分布式配置、配置中心以及像缓存的雪崩、击穿等等常见的问题 , 我隐约记得配置文件 appsettings.json配置的部分有热更新的配置项 , 但我并没有对选项模式(Options)里的三剑客做过深入的挖掘 , 所以 , 这篇博客 , 一方面是系统地了解了一下选项模式(Options)的使用 , 而另一方面是由配置热更新这个话题引申出来的一系列细节 , 在没有理解IChangeToken 的时候 , 实现一个自定义的配置源是有一点困难的 , 在这篇博客的最后 , 我们基于 Redis 的发布-订阅实现了一个简单的配置中心 , 不得不说 , Redis里用:来分割 Key 的方式 , 实在是太棒了 , 因为它可以完美地和 .NET Core 里的配置系统整合起来 , 这一点只能用赏心悦目来形容 。
声明:本文为 CSDN 博主 PayneQin 的原创文章 , 版权归作者所有 。
原文地址: