【发布时间】:2017-09-22 17:40:15
【问题描述】:
我正在使用 spring boot 1.5.2.RELEASE 和 spring data redis 和 spring data jpa。
我想先从redis查询数据
如果数据无法从 redis 中获取,则从 mysql 中获取。
类似这样的:
获取方法
Object cacheValue = cache.get("key");
if(null != cacheValue){
return cacheValue;
} else {
Object dbValue = getFromInDb("key");
cache.set("key", value);
return dbValue;
}
删除方法
Object cacheValue = cache.get("key");
if(null != cacheValue){
cache.delete("key");
db.deleteByKey("key")
} else {
db.deleteByKey("key")
}
我现在使用spring aop我可以完成工作。我想知道我使用 spring data redis repository 是否可以做同样的事情以及如何做?
提前致谢。
【问题讨论】:
-
您是否尝试过在您的服务中使用
@Cacheable和@CacheDelete注释? Spring Data Redis 附带了一个 Cache 实现,它可能会利用您的方法。 -
你有一些简单的演示吗?谢谢。
标签: spring-boot spring-data-jpa spring-aop spring-data-redis