评论

使用wx.setStorage实现小程序类Redis操作,可设置数据有效期

使用小程序本地存储实现类Redis操作。

/**
 * 设置
 * k 键key
 * v 值value
 * t 秒
 */
function putLS(k, v, t) {
  try {
    wx.setStorageSync(k, v)
    var seconds = parseInt(t)
    if (seconds > 0) {
      var newtime = Date.parse(new Date())
      newtime = newtime / 1000 + seconds;
      wx.setStorageSync(k + 'xz', newtime + "")
    } else {
      wx.removeStorageSync(k + 'xz')
    }
  } catch (e) {
    // console.log(e);
  }
}
/**
 * 获取
 * k 键key
 */
function getLS(k) {
  try {
    var deadtime = parseInt(wx.getStorageSync(k + 'xz'))
    if (deadtime) {
      if (parseInt(deadtime) < Date.parse(new Date()) / 1000) {
        //wx.removeStorageSync(k);
        remLS(k)
        console.log("过期了")
        return false
      }
    }
    var res = wx.getStorageSync(k)
    if(res){
      return res
    }else{
      return false
    }
  } catch (e) {
    // console.log(e);
  }
}
  
/**
 * 删除
 */
function remLS(k) {
  try {
    wx.removeStorageSync(k);
    wx.removeStorageSync(k + 'xz');
  } catch (e) {
    // console.log(e);
  }
}
 
/**
 * 清除所有key
 */
function remAllLS() {
  try {
    wx.clearStorageSync();
  } catch (e) {
    // console.log(e);
  }
}

module.exports = {

  putLS,

  getLS,

  remLS,

  remAllLS

}


点赞 0
收藏
评论

1 个评论

  • undefined
    undefined
    2019-06-22

    redis是服务端的 storage是客户端的,说成是类cookie还行

    2019-06-22
    赞同
    回复 1
    • 讯洲科技
      讯洲科技
      2019-06-26

      多多交流

      2019-06-26
      回复
登录 后发表内容