文档中心 > 店铺动态卡片-开发指引

函数缓存使用

更新时间:2023/02/08 访问次数:8249

 

为了降低服务端压力,在函数中可以使用缓存能力,将小程序中使用的静态数据、不需要及时更新的数据设置缓存(例如商品列表、积分排行榜等)。

 

设置缓存后,端上发起的接口访问将在云服务网关直接返回缓存的数据,不会调用到函数服务中。

 

一、参数说明


function.invoke(name: string, data: object, handler: string, exts: any): Promise<Result>;

 

函数调用参数中,可传入exts字段用于缓存控制。

 

cacheType为缓存的模式,枚举值说明如下:


cacheType

说明

0

标准缓存:命中条件为相同小程序+相同用户+相同请求。

1

用户无关缓存:命中条件为相同小程序+相同请求。

2

小程序无关(适用于模板实例化模式)缓存:命中条件为相同用户+相同请求。

3

全局缓存:命中条件为相同的请求。

 

cacheTime:缓存失效时间,cacheType不为空的情况下生效,不填默认300,单位为,最大不超过3600

 

二、使用示例(客户端)


前置完成函数初始化

try {
   const result = await cloud.function.invoke('helloworld',      // 函数名称
                                              {},                // 业务参数
                                              'main',            // handler名称
                                              {                  // exts扩展信息字段
                                                "cacheType":1,   // 缓存类型
                                                "cacheTime":3600 // 缓存时间
                                              });
   if (result.success) {
       my.alert({
          title: 'success ',
          content: JSON.stringify(result.data)
       })
   } else {
        my.alert({
          title: 'fail ',
          content: JSON.stringify(result.data)
        })
   }
} catch (e) {
   my.alert({
     content: '云函数调用失败 ' + e.message
   })
}


FAQ

关于此文档暂时还没有FAQ
返回
顶部