解决第三方接口所需token的持久化问题

场景:

调用深信服虚拟机平台提供的接口获取虚拟机信息,以及调用操作虚拟机接口完成相关业务需求。

问题:

每次在调用操作虚拟机相关的接口都要先行获取深信服虚拟机平台提供的token,相当于每次调用一个接口都要先调用获取token的接口。

解决方案:

解决调用第三方接口所需token的持久化问题,以避免每次调用接口都要先去调用第三方的获取token和ticket的接口:
1.数据库:通过第三方接口获取token后,将token存储到数据库,每次都需要从数据库取出。采用定时任务的方法每隔固定时间去获取一次token。
2.NoSQL:获取token后,存入redis中,可以设置redis的过期时间,每次需要token的时候中redis中取出来,若没有,则证明token已经过期可以重新获取。
3.文件存储:这个比较适合单一的第三方接口。获取token后,存入文件,采用定时任务每隔一个固定时间获取一次token。

优缺点:

采用数据库和文件存储,对于单节点并且用户请求数不是很多的web项目而言,是可以的正常运行的,但是对于分布式多节点的项目,采用这两种方式是行不通的。而我今天要说的第三种通过Redis方法存储,一方面它可以提升获取token的速度,另一方面当分布式项目的多个节点要公用同一个token的时候,我们可以方便的取到。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值