单机版
第一步 先配置好单机版的配置文件
在单机版redis的配置文件/usr/local/redis/bin/redis.conf 文件中 将daemonize修改为yes 将protected-mode修改为no 要是没有protected-mode自行添加
这里的bind也应该是注释状态
第二步 新建redis模块
这里是他所需要的依赖
<dependencies>
<!-- Spring Session 分布式事务 ,在登录时使用 -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<!-- spring-session -->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-core</artifactId>
</dependency>
<!-- redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
以及他需要的配置文件
application-redis.yml
#连接redis的参数
spring:
redis:
host: 公网ip
port: 端口号
在需要使用redis的模块内
这里以manager为例
新增关联配置文件的代码
application.yml
# 关联application-redis.yml配置文件
profiles:
active: redis
在其业务实现类加上注解
在其启动类加上注解
这个注解一般用在注销账户的loginOut的controller上面
出现的问题
上面那个action里面的翻译过来就是jdk动态代理不行 要使用cglib
然后就需要在@EnableCaching后面加上配置
改成@EnableCaching(proxyTargetClass = true)
@Cacheable注解的拓展
@Cacheable(cacheNames = “com.zyy”,key = “‘products’”)这个注解 我们之前到的是
他会以com.zyy::products作为键 将这个注解下的方法的返回值 作为值传入redis
但是其实更详细的说 他是先在redis里面扫描com.zyy::products这个键 若是在redis里面存在这个键 那么他就不会执行这个注解下面的方法
直接将他从redis里面获取到的值作为返回值返回 中间的代码全部不执行
例如如果redis里面已经存在com.zyy::products 那么他就不会输出中间的语句
集群版
集群版只需要修改一个配置文件就行了
application-redis.yml