菜单设置工具 消息模拟工具 缓存测试 异步方法 帮助文档 测试号入口

Senparc.Weixin 缓存队列原理

  1. 微信的AccessToken等数据都使用各类Container进行管理;
  2. 每个Container都有一个强制约束的ContainerBag,本地缓存信息;
  3. ContainerBag中的属性被修改时,会将需要对当前对象操作的过程放入消息队列(SenparcMessageQueue);
  4. 每个消息队列中的对象都带有一个委托类型属性,其动作通常是通过缓存策略(实现自IContainerCacheStrategy,可以是本地缓存或分布式缓存)更新缓存;
  5. 一个独立的线程会对消息队列进行读取,依次执行队列成员的委托,直到完成当前所有队列的缓存更新操作;
  6. 上一个步骤重复进行,每次执行完默认等待2秒。此方案可以有效避免同一个ContainerBag对象属性被连续更新的情况下,每次都和缓存服务通讯而产生消耗。

测试结果:

缓存测试运行中……