@Cacheable 缓存中有的,就不走方法,直接返回,没有,就执行方法查询数据库并放入缓存中,重启服务后缓存中就没有数据了
@Cacheable(value = "userCache", key = "#id", condition = "#result != null")
以上spring cache框架基于map实现的,所以重启会没有数据,redis不会有这种情况。
@Cachable(value = "userCache", key = "#user.id" + "_" + #user.name)在list方法上查询用户信息的方法,基于动态构造的key查询不同的用户信息缓存数据。