[公告][重要]Senparc.Weixin v4.9.0 Senparc.Weixin.MP v14.3.104更新说明
本次升級除了更新了發紅包接口等接口之外,最重要的是重構了緩存模塊。
如何升級?
之前的緩存是為Container設計的,原先的ContainerCacheStrategy繼承自BaseCacheStragegy。這次更新之后,在ContainerCacheStrategy和BaseCacheStragegy中間加了一層ObjectCacheStrategy,用于處理所有Key為String類型的緩存(Value為Object類型)。
Sample中的代碼已經進行了同步的修改。
所以如果您是在以前的版本上進行升級,必須要對代碼做如下修改:
1、 ContainerCache緩存策略不再需要注冊,改為對ObjectCache緩存策略的注冊,例如:
原先的Container注冊方法為(Redis為例):
CacheStrategyFactory.RegisterContainerCacheStrategy(() => RedisContainerCacheStrategy.Instance);//Redis
現在改為:
CacheStrategyFactory.RegisterObjectCacheStrategy(() => RedisObjectCacheStrategy.Instance);//Redis
?
注意:大部分的升級內容,只要編譯一次就可以根據編譯器報錯找到修改的地方,但是上述lambda表達式中的?RedisObjectCacheStrategy ,即使保留原來的?RedisContainerCacheStrategy 也不會在編譯時報錯,所以需要格外注意!
?
2、CacheStrategyFactory.GetContainerCacheStrategyInstance()方法已經廢除,現改為:
CacheStrategyFactory.GetObjectCacheStrategyInstance(); 返回的是ObjectCacheStrategy,不再是ContainerCacheStrategy
?用法:
var objectCacheStrategy = CacheStrategyFactory.GetObjectCacheStrategyInstance();
現在的ContainerCacheStrategy實例可以從objectCacheStrategy?.ContainerCacheStrategy獲得,例如:
原先的containerCacheStrategy獲取方法為:
CacheStrategyFactory.GetContainerCacheStrategyInstance()
現在改為:
CacheStrategyFactory.GetObjectCacheStrategyInstance().ContainerCacheStrategy
?
升級說明
本次更新之后看似某些部分緩存初始化的代碼會更長一些(多數存在于SDK內部,開發者不會感覺到,所有的接口調用方法沒有任何改變),但是對于SDK的擴展能力來說是一個新的里程碑:以前緩存策略專為Container設計(或者說Container優先),而目前的緩存策略已經可以支持幾乎所有的緩存類型!這次升級為接下來SDK更多的功能升級提供了強有力的底層保證,尤其下一步包括小程序在內的實時互動開發提前奠定基礎。
?
總結
以上是生活随笔為你收集整理的[公告][重要]Senparc.Weixin v4.9.0 Senparc.Weixin.MP v14.3.104更新说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python-day1-login练习
- 下一篇: Spark不是唯一,三种新兴的开源数据分