Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: 修复缓存失效时,可能会重复获取accessToken的问题 #762

Merged
merged 2 commits into from
Jan 12, 2024

Conversation

Hatuw
Copy link
Contributor

@Hatuw Hatuw commented Jan 11, 2024

缓存中间间失效时(如Redis链接断开、失效等情况),从微信服务器获取到accessToken后,因为设置缓存失败,会导致返回为空,此时客户端会认为没有获取到token。
因此缓存设置失效时,也正常设置token,暂时启用缓存,防止获取Token API调用次数耗尽

@houseme
Copy link
Collaborator

houseme commented Jan 12, 2024

缓存中间间失效时(如Redis链接断开、失效等情况),从微信服务器获取到accessToken后,因为设置缓存失败,会导致返回为空,此时客户端会认为没有获取到token。 因此缓存设置失效时,也正常设置token,暂时启用缓存,防止获取Token API调用次数耗尽

redis 都异常了,业务还可以正常运行 ?这样处理每次都会去获取接口,只是当前这次返回了结果,单机项目可以在项目内弄个map存起来,多台机器的没办法解决

@Hatuw
Copy link
Contributor Author

Hatuw commented Jan 12, 2024

缓存中间间失效时(如Redis链接断开、失效等情况),从微信服务器获取到accessToken后,因为设置缓存失败,会导致返回为空,此时客户端会认为没有获取到token。 因此缓存设置失效时,也正常设置token,暂时启用缓存,防止获取Token API调用次数耗尽

redis 都异常了,业务还可以正常运行 ?这样处理每次都会去获取接口,只是当前这次返回了结果,单机项目可以在项目内弄个map存起来,多台机器的没办法解决

Redis异常建议当作未命中缓存处理,现实中也可能会出现网络抖动的情况,这样会导致调用次数耗尽。
实际上就是发生过,网络抖动导致调用次数耗尽了(此时业务是异常的)。如果当做未命中处理的话,业务会正常,且网络恢复后也不影响

@houseme
Copy link
Collaborator

houseme commented Jan 12, 2024

缓存中间间失效时(如Redis链接断开、失效等情况),从微信服务器获取到accessToken后,因为设置缓存失败,会导致返回为空,此时客户端会认为没有获取到token。 因此缓存设置失效时,也正常设置token,暂时启用缓存,防止获取Token API调用次数耗尽

redis 都异常了,业务还可以正常运行 ?这样处理每次都会去获取接口,只是当前这次返回了结果,单机项目可以在项目内弄个map存起来,多台机器的没办法解决

Redis异常建议当作未命中缓存处理,现实中也可能会出现网络抖动的情况,这样会导致调用次数耗尽。 实际上就是发生过,网络抖动导致调用次数耗尽了(此时业务是异常的)。如果当做未命中处理的话,业务会正常,且网络恢复后也不影响

建议记录下错误日志,正常返回,不要屏蔽掉

@Hatuw
Copy link
Contributor Author

Hatuw commented Jan 12, 2024

缓存中间间失效时(如Redis链接断开、失效等情况),从微信服务器获取到accessToken后,因为设置缓存失败,会导致返回为空,此时客户端会认为没有获取到token。 因此缓存设置失效时,也正常设置token,暂时启用缓存,防止获取Token API调用次数耗尽

redis 都异常了,业务还可以正常运行 ?这样处理每次都会去获取接口,只是当前这次返回了结果,单机项目可以在项目内弄个map存起来,多台机器的没办法解决

Redis异常建议当作未命中缓存处理,现实中也可能会出现网络抖动的情况,这样会导致调用次数耗尽。 实际上就是发生过,网络抖动导致调用次数耗尽了(此时业务是异常的)。如果当做未命中处理的话,业务会正常,且网络恢复后也不影响

建议记录下错误日志,正常返回,不要屏蔽掉

已添加错误信息返回

@houseme houseme requested a review from silenceper January 12, 2024 07:54
Copy link
Owner

@silenceper silenceper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@silenceper silenceper merged commit 5b29289 into silenceper:v2 Jan 12, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants