SpringAOP如何整合redis(注解方式)实现缓存统一管理详解-创新互联

前言

创新互联公司-专业网站定制、快速模板网站建设、高性价比义安网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式义安网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖义安地区。费用合理售后完善,10年实体公司更值得信赖。

项目使用redis作为缓存数据,但面临着问题,比如,项目A,项目B都用到redis,而且用的redis都是一套集群,这样会带来一些问题。


问题:比如项目A的开发人员,要缓存一些热门数据,想到了redis,于是乎把数据放入到了redis,自定义一个缓存key:hot_data_key,数据格式是项目A自己的数据格式,项目B也遇到了同样的问题,也要缓存热门数据,也是hot_data_key,数据格式是项目B是自己的数据格式,由于用的都是同一套redis集群,这样key就是同一个key,有的数据格式适合项目A,有的数据格式适合项目B,会报错的,我们项目中就遇到这样的一个错误,找不到原因,结果就是两个平台用到了同一key,很懊恼。

解决方式:


1、弄一个常量类工程,所有的redis的key都放入到这个工程里,加上各自的平台标识,这样就不错错了


2、spring Aop结合redis,再相应的service层,加上注解,key的规范是包名+key名,这样就不错重复了

思路:


1、自定义注解,加在需要缓存数据的地方


2、spring aop 结合redis实现


3、SPEL解析注解参数,用来得到响应的注解信息


4、redis的key:包名+key 防止redis的key重复

实现如下:


项目准备,由于是maven项目,需要引入相关的包

fastjson包
 
  com.alibaba
  fastjson
  ${com.alibaba.fastjson}
 

spring-data-redis
 
  org.springframework.data
  spring-data-redis
  ${spring.redis.version}
 
 
  redis.clients
  jedis
  ${jedis.redis.clients.version}
 

当前文章:SpringAOP如何整合redis(注解方式)实现缓存统一管理详解-创新互联
当前网址:http://myzitong.com/article/coshhs.html