由于Spring Boot上存在与redis相关操作的jar包,所以一般在这种项目直接使用与Spring Boot相关的redis Jar包来操作服务器上的redis而不是原生的Jedis,这里简单记录一下搭建一个Spring Boot与StringRedisTemplate整合的记录,由于这里只是做个简单测试,所以怎么简单怎么来,懂原理就OK
1.之前在博客上记录了搭建一个Spring Boot项目的例子,这里只需要加上这么个依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.在resource文件夹下的application.properties文件中添加关于Linux上的redis的相关配置,具体见下图 ,这里根据自己的实际情况自行修改即可
3.由于只是做个简单测试,这里写个接口,里面随便定义两个方法
4.定义该接口的实现类,实现这两个方法,见下图,这里简单解释下,这里持有一个StringRedisTemplate的对象,加上Autowired注解会自动根据application.propperties配置文件为其注入这么一个对象,之后就可以使用该对象实现相应的方法了
5.接下来写个控制器类调用Service即可,见下图
6.这里启动了Linux上的redis服务器,同时在redis的客户端执行了set a1 b1,指定key值为a1,对应的value值为b1,之后启动Spring Boot的主程序类
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
在浏览器访问,如果访问结果是b1,表明spring boot与StringRedisTemplate整合集成成功
PS:这里有个小插曲,在设置配置文件时我使用spring.redis.host来指定ip地址的时候,在访问redis出现连接被拒绝这种情况,而我同事则可以使用这个前缀指定ip地址后可以成功连接,而且他使用spring.redis.hostName则出现无法连接。。。。查询了各种官方文档,以及相关redis版本一致,jar包都是一致,但是就是这个前缀不一致问题而出现无法连接很是奇怪,不知道哪里出了问题。。。。反正也不是大问题没必要太纠结,不过如果哪位大神能给出造成这个问题的原因也是非常感激了,那么这篇就这样。