收藏
回答

关于缓存每个key大小限制为1M,那么我如何判断将要缓存的数据大小是不是1M呢?

最近想做一个登陆优化,把用户每次登陆都要获取的数据存入缓存,下次登录先判断有没有缓存,再判断缓存的数组元素个数和数据库对应的个数是否相同,如果相同就不在从新获取,直接用缓存的数据,现在的问题是,缓存数据有大小限制,1m,如何判断这个KEY的大小,如何在存入缓存前判断数据的大小,请教一下大家。

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

4 个回答

  • 2022-05-13

    判断所有的用一楼方法,判断单个key大小可以将对象转字符,再转换成字节,根据字节数计算大小。

    2022-05-13
    有用 1
    回复 1
    • 大雪纷飞
      大雪纷飞
      2022-05-25
      3q
      2022-05-25
      回复
  • Sam
    Sam
    2021-09-02

    使用对应的方法就可以获取全部的缓存信息,单独获取某个Key的缓存数据大小,微信没有提供对应的方法。

        wx.getStorageInfo({
          success (res) {
            console.log(res.keys) // 缓存条数
            console.log(res.currentSize) // 已占用大小
            console.log(res.limitSize) // 最大可占用大小
          }
        })
    
    2021-09-02
    有用 1
    回复
  • 老张
    老张
    2020-11-27

    你管它大小呢,如果缓存失败的话,你再处理呗。

    2020-11-27
    有用 1
    回复 1
    • 大雪纷飞
      大雪纷飞
      发表于小程序端
      2020-11-29
      就是啊
      2020-11-29
      回复
  • 暮紫雨竹
    暮紫雨竹
    发表于移动端
    2023-05-05
    测试下来,发现实际↑并没有限制,超过1M也能存进去
    2023-05-05
    有用
    回复 1
    • 阿白
      阿白
      2023-08-22
      真机线上就有限制了
      2023-08-22
      回复
登录 后发表内容
问题标签