项目中的数据缓存、二级缓存简单说明

本文从测试角度介绍Tair缓存、二级缓存及缓存测试点。引入缓存可提高查询速度、减少数据库压力。Tair缓存是中间件,数据更新后同步到缓存,定时任务保障一致性,但有数据不一致风险。二级缓存是Tair下一级,查询先从二级缓存开始,也存在数据不一致问题。还给出了主要测试点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面我从测试角度简单说下Tair缓存、二级缓存和缓存测试点

首先我们要知道程序中为什么要引入缓存机制,在访问量大、对查询速度有一定要求并且数据实时性要求不是特别大时,会考虑引入缓存,提高查询速度、减少数据库链接和访问压力

Tair缓存

说明

为一个中间件,代替数据库做一个临时数据源

tair缓存数据

在增删改操作数据时,数据库数据成功更新后会同步到缓存中,并更新缓存刷新时间字段;定时任务会捞取缓存刷新时间大于指定时间的数据,重新把数据库的数据同步到缓存

对数据的增删改操作后,会同步数据到tair缓存中,保障tair缓存中数据的一致性

定时任务的更新,作为一种补偿机制,保障了异常情况下tair缓存中数据的一致性

最好后台配置可以手动同步、清空tair缓存的功能,方便实时操作

不可避免的风险

刚执行完定时任务,在对数据修改,同步数据到tair缓存时出现异常未能同步成功,此时会有一段时间数据不一致(取决于定时任务间隔时间),待定时任务重新执行后即可恢复

二级缓存

说明

Tair缓存的下一级

二级缓存数据

所有查询都先从二级缓存中查询,二级缓存中如果没有查询到数据,会从tair缓存中拿取数据并更新到二级缓存中,如果tair缓存也不存在时则根据规则制定默认值或者其他处理。二级缓存过期时间一般较短、数据存储量有限制,超出范围对最早数据进行淘汰处理

二级缓存中最开始都是没有数据的,在从tair缓存中查询到数据后才会同步到二级缓存,保证了数据一致性(如果tair缓存中没数据制定了默认值,二级缓存中就存的默认值)

二级缓存过期时间一般较短,可以相对及时从tair缓存中取新数据,保证了数据一致性

不可避免的风险

1.tair缓存中数据是旧数据,二级缓存获取后,此时就会有一段时间数据不一致

2.二级缓存获取数据时,tair服务突然挂了,此时就会有一段时间数据不一致

主要测试点

1.本地缓存中无数据,tair缓存中无数据

2.本地缓存中无数据,tair缓存中有数据

3.本地缓存中有数据

4.本地缓存中有数据,根据业务逻辑筛选数据

5.本地缓存过期、失效、淘汰

6.定时任务、同步数据至tair缓存

7.数据一致性检查

8.超时处理

9.如果存在多条关联数据时,需要关注临界值的情况(如:有三条关联数据,二级缓存大小刚好满了,把前两条数据淘汰了,此时怎么处理)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值