西安近期出现疫情,要进行全员核酸检测,西安地区也增加了查看健康码的次数,进出公司或者商场等地方,都要出示健康码,只有绿码才可以进去。
但这个关键时刻发生了故障,健康码打不开了,无法展示自己的健康码,给西安市民的生活带来很多不便。
下面智伍应用的实习技术员从技术角度,解读一下二维码打不开的可能原因
出现健康码打不开的情况,应该是没有对健康码做手机客户端的缓存,展示的时候直接访问数据库拿数据,做了健康码的实时更新,让数据库和服务器的访问过大导致崩溃,最终打不开健康码。
健康码是一个二维码,看上去像一张图片,其实并不是一张图片,只是一串字符,用二维码的形态表现出来。
可以先把健康码的这串字符用手机客户的cookie或者localStorage缓存起来,然后设置一个过期时间,到了这个时间再重新请求服务端,如果有更新内容,就把最新的内容重新保存到cookie或者localStorage。
可能你会问,为什么不做实时更新健康码??因为没有必要,核酸检测从开始到拿到结果,本身就不是实时检测结果的,都有一个检测时间,所以根本没有必要每次展示健康码的时候,都从服务器那里拿数据。
经过做合适科学的数据缓存之后,这样无论西安老百姓打开多少次健康码,都没有问题!!因为都是在自己手机客户端离线打开的,就好像自己的微信上收图片一样,第一次需要加载图片,等加载完成了,后续打开图片都是秒开的,不管打开多少次都一样。
健康码出现打不开的情况,智伍应用实习技术员认为,应该是没有做好健康码的数据缓存。