spring boot 整合redis,jpa

第一步:在配置文件(application.properties)中添加以下配置选项:

# Redis server index
spring.redis.database=0
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=123456
spring.redis.pool.max-active=4
spring.redis.pool.max-wait=-1
spring.redis.pool.max-idle=4
spring.redis.pool.min-idle=0
spring.redis.timeout=0


第二步:在jpaRepository中使用,见下面代码:

@CacheConfig(cacheNames = "areas")
public interface IdCareaRepository extends JpaRepository<IdCarea, String>  {

	@Cacheable(key = "#p0")
	IdCarea findById(String id);
	
	List<IdCarea> findByLevel(int id);
	
	@Cacheable(value="areas-list", key = "#p0+-+#p1")
	List<IdCarea> findByIdLikeAndLevel(String id, int level);
}

@CacheConfig 开启Cache,配置缓存名称为areas打头

@Cacheable(key = "#p0") 方法启用cache,并配置key为第一个参数值

@Cacheable(value="areas-list", key = "#p0+-+#p1")  #p0为第一个参数,#p1为第二个参数


第三步:在service中启用缓存,见下面代码

@Service
@EnableCaching
public class AreaService {

	@Autowired
	private IdCareaRepository idCareaRepository;
	
	@Cacheable(value="area-list", key="#id+-+#level")
	public List<IdCarea> findByIdLikeAndLevel(String id, int level){
		return idCareaRepository.findByIdLikeAndLevel(id, level);
	};
	
	@Cacheable(value="area-", key="#id")
	public IdCarea findById(String id){
		return idCareaRepository.findById(id);
	}
	
	@Cacheable(value="area-level", key="#level")
	public List<IdCarea> findByLevel(int level){
		return idCareaRepository.findByLevel(level);
	}
	
	
}

@EnableCaching启用缓存

@Cacheable(value="area-level", key="#level")  定制缓存的value和key,可以也已使用#p0,#p1表示



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值