一、缓存方案
项目中,针对热点数据,我们需要建立缓存来降低数据的压力。
其中项目门户中:
①定位界面中的已开通服务城市,可以进行缓存
②ES实现查询
③首页服务列表,对于每个用户而言都是相同的,热点数据进行缓存
④热门服务列表,在后台对于不同区域进行不同设置,进行缓存
⑤每个服务的服务详情进行缓存。
二、缓存技术实现
使用Redis作为缓存数据库,本项目使用如下两个方案使用Java去访问Redis:
1、RedisTemplate 进行 Redis 操作时,实际上是通过 Lettuce 客户端与 Redis 服务器进行通信。
2、集成了Spring Cache,Spring Cache是spring的缓存框架,可以集成各种缓存中间件,比如:EhCache、Caffeine、Redis。使用AOP和注解就可以实现灵活使用Redis
SpringCache
常用注解:
@EnableCaching:开启缓存注解功能,在工程启动类上添加该注解
@Cacheable:查询数据时缓存,将方法的返回值进行缓存。
@CacheEvict:用于删除缓存,将一条或多条数据从缓存中删除。
@CachePut:用于更新缓存,将方法的返回值放到缓存中
@Caching:组合多个缓存注解;
@CacheConfig:统一配置@Cacheable中的value值
数据读写策略
⭐八股