We know that IIS caches ConfigurationManager.AppSettings so it reads the disk only once until the web.config is changed. This is done for performance purposes.
Someo
AppSettings is cached. You can improve performance by further caching to limit namevaluecollection lookups.
See: DotNetPearls Static Config Pattern