• [公告][重要]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更多的功能升级提供了强有力的底层保证,尤其下一步包括小程序在内的实时互动开发提前奠定基础。

  • 相关阅读:
    [css]display: table-cell,用div做分列布局
    [css]《CSS知多少》
    关于安装Android Studio的一些问题的解决方法
    枚举
    揭开计算机的神秘面纱
    Android模拟器访问本地Web应用
    Android开发中常用的Eclipse快捷键
    详解Windows平台搭建Androiod开发环境
    Web 应用的安全性
    坚持才能成功------王健林
  • 原文地址:https://www.cnblogs.com/szw/p/5994480.html
Copyright © 2020-2023  润新知