CacheManager - 用 C# 编写的 .NET 的开源缓存抽象层
簡介
CacheManager 是用 C# 編寫的 .NET 的開源緩存抽象層。它支持各種緩存提供程序并實現了許多高級功能
CacheManager 是用 C# 編寫的 .NET 的開源緩存抽象層。它支持各種緩存提供程序并實現了許多高級功能。
CacheManager 包的主要目標是讓開發人員的生活更容易處理,即使是非常復雜的緩存場景。使用 CacheManager 可以實現多層緩存,例如在分布式緩存前的進程內緩存,只需幾行代碼。
CacheManager 不僅僅是一個統一各種緩存提供者的編程模型的接口,這將使以后在項目中更改緩存策略變得非常容易。它還提供其他功能,例如緩存同步、并發更新、序列化、事件、性能計數器……開發人員只有在需要時才可以選擇加入這些功能。
功能列表
?一種處理不同緩存技術的通用接口:ICache?可配置?支持不同的緩存提供程序?現在可以配置序列化。僅在分布式緩存中才需要序列化。如果沒有安裝和配置額外的序列化包,將使用二進制序列化?使用分布式緩存的鎖或事務更新值。?記錄CacheManager 帶有一個可擴展的記錄 API?類型緩存接口。?多層 通過 CacheManager 管理多個緩存句柄,您可以輕松實現分層緩存?緩存區域:即使某些緩存系統不支持或不實現緩存區域,CacheManager 也會實現該機制。例如,這可用于對元素進行分組并一次刪除所有元素。?統計信息:各種緩存操作的計數器。?性能計數器:為了能夠檢查某些數字perfmon,CacheManager 支持每個管理器實例和每個緩存句柄的性能計數器。?事件系統:CacheManager 觸發常見緩存操作的事件:OnGet、OnAdd、OnPut、OnRemove、OnClear、OnClearRegion?System.Web.OutputCache實現使用 CacheManager 作為 OutputCache 提供者,這使得 OutputCache 非常靈活,例如通過在許多 Web 服務器上使用像 Redis 這樣的分布式緩存。?緩存客戶端同步 使用 Redis 發布/訂閱功能實現
例子
private?static?void?MostSimpleCacheManager(){var?config?=?new?ConfigurationBuilder().WithSystemRuntimeCacheHandle().Build();var?cache?=?new?BaseCacheManager<string>(config);//?orvar?cache2?=?CacheFactory.FromConfiguration<string>(config);}private?static?void?EventsExample(){var?cache?=?CacheFactory.Build<string>(s?=>?s.WithDictionaryHandle());cache.OnAdd?+=?(sender,?args)?=>?Console.WriteLine("Added?"?+?args.Key);cache.OnGet?+=?(sender,?args)?=>?Console.WriteLine("Got?"?+?args.Key);cache.OnRemove?+=?(sender,?args)?=>?Console.WriteLine("Removed?"?+?args.Key);cache.Add("key",?"value");var?val?=?cache.Get("key");cache.Remove("key");}Github地址
https://github.com/MichaCo/CacheManager 最后大家如果喜歡我的文章,還麻煩給個關注并點個贊, 希望net生態圈越來越好!
總結
以上是生活随笔為你收集整理的CacheManager - 用 C# 编写的 .NET 的开源缓存抽象层的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xamarin.Forms 5.0 项目
- 下一篇: 如何实现一个线程安全的 Concurre