收藏
回答

一个后端问题:我们的某些功能要使用微信的api来生成二维码,面对大量代开发小程序,怎么做更合理?

我们现在的做法,是根据发请求的小程序的相关信息,去数据库里拿它的appId和secret,但是再拼出参数去调用接口。

不过我总感觉这种方式,有点不正常,性能影响很大,一直在来回更换wx api的参数。

请问各位前辈,我们这样做对吗?有更好的方法吗?

回答关注问题邀请回答
收藏

2 个回答

  • Ding
    Ding
    2023-07-17

    你的做法没有问题,是最基本的做法。 更换 api 参数没有性能影响,微乎其微。这里需要考虑的主要是,数据库压力和微信 api 的限流问题。

    因为不了解你的具体用户量多少,接口请求频率有多高,我们就假设很高,那对数据库请求会对数据库造成一定压力,也更容易触发微信 api 的限制。所以就需要减少对数据库的请求,减少对 api 的请求。最简单有效的方式是缓存,缓存用户的 appid、secret,缓存生成的二维码。缓存的方法有很多,各有优劣,你搜索一下就能了解到很多。

    2023-07-17
    有用
    回复 1
    • 悦奇光年
      悦奇光年
      2023-07-17
      多谢,那就好。我们已经缓存了二维码,不会来回生成。其他性能问题我们会继续优化。
      2023-07-17
      回复
  • Mr.Zhao
    Mr.Zhao
    2023-07-17

    减少数据库调用不就行了 内存缓存

    2023-07-17
    有用
    回复 5
    • 悦奇光年
      悦奇光年
      2023-07-17
      我的意思是,来还给wx的组件换参数,会不会有性能问题?数据库的调用好解决。wx的组件会不会来回init之类的。
      2023-07-17
      回复
    • Mr.Zhao
      Mr.Zhao
      2023-07-17回复悦奇光年
      微信什么组件?
      2023-07-17
      回复
    • Mr.Zhao
      Mr.Zhao
      2023-07-17回复悦奇光年
      你这个性能影响很大,从哪得出来的,不是凭空感觉的吧,追求性能极致?
      2023-07-17
      回复
    • 悦奇光年
      悦奇光年
      2023-07-17回复Mr.Zhao
      呃,我们开会的时候,有人问的,我心里没谱,所以来这里问问,看看有没有更高级的做法
      2023-07-17
      回复
    • Mr.Zhao
      Mr.Zhao
      2023-07-17回复悦奇光年
      你得用数据说话啊  你这个高级 还得研究程序编译原理
      2023-07-17
      回复
登录 后发表内容