ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

接口加了缓存之后如何验证缓存是否有效

2021-04-27 14:07:27  阅读:110  来源: 互联网

标签:缓存 验证 数据库 接口 查询 查询数据库 数据


什么是缓存?

  在项目中没有必要每次请求都查询数据库的情况就可以使用缓存,让每次请求先查询缓存,如果命中,就直接返回缓存结果,如果没有命中,再查询数据库, 并将查询结果放入缓存,下次请求时查询缓存命中,直接返回结果,就不用再次查询数据库。

缓存的作用?

        缓解数据库压力,提升接口响应速率。

        比如一个接口A,功能是根据指定条件查询数据库里满足要求的数据,返回给客户端。简单的理解 ,不加缓存,我和你用同样的查询条件去查 ,每请求一次接口,就查询一次数据库,因此查的人多了 ,对数据库的压力很大 。

加入缓存后,用户第一次调用接口,先检查缓存中是否有对应数据,命中缓存后直接返回,没有的话再查数据库,从数据库查到数据后,存入缓存中,再返回。下次再查询时,就可以直接从缓存中读取数据。

使用缓存有啥注意事项?

1、并发量大的时候,使用缓存效果才明显,但是如果接口进行数据写入操作的比率远远比读写的多的话,数据写入可以考虑使用分库分表,数据读取加缓存即可。

2、对于数据一致性要求比较高的,比如项目设计到金钱等重要数据,且数据频繁发生变化,不允许存在一点差异的 ,在这种情况下,如果要使用缓存,是技术方案要求比较高。

作为测试人员,如何验证接口缓存是否正确?

我能想到的测试点如下:

1、检查响应时间是否有明显提升

2、用相同的查询条件去查,得到的数据是否始终一致 

3、监控数据库是否有触发执行sql

4、把数据库的数据修改一下 ,然后验证是查的缓存还是数据库 ,不过这个得确认缓存失效的时间,以及源数据变更后,是否有做什么机制自动刷新缓存的数据或者使缓存的数据失效

5、手动修改缓存中的数据,再调用接口查询,查看是否已缓存中的数据进行返回
6、分享一个之前在测试过程中,接口设置缓存的key值不合理导致的bug:缓存key设置不合理导致的bug

缓存在工作中是很常见的,作为测试的你学会如何去开展测试了吗?

标签:缓存,验证,数据库,接口,查询,查询数据库,数据
来源: https://blog.51cto.com/u_7739395/2736433

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有