01.在服务器中配置好redis服务器后,在sts中使用redis插件。
02.先是导入jar包:
<!--spring整合redis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
</dependency>
03.在springboot项目中使用redis:
说明:通过使用Redis工具api的Jedis对象实现远程连接操作虚拟机中的redis。
package com.jt.TestRedis;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import redis.clients.jedis.Jedis;
@SpringBootTest
public class TestRedis01 {
/**
* 通过java远程连接redis的入门案例
* 1.要求关闭Linux的防火墙
* 2.redis的配置文件中的ip绑定注释掉
* 3.redis的配置文件中的保护模式关闭
*
* Jedis(host, port)
* host:服务器的ip
* port:服务的端口号
*/
@Test
public void test01() {
String host="192.168.126.129";
int port=6379;
//1.创建Jedis对象
Jedis jedis=new Jedis(host, port);
jedis.set("redis", "hello~redis");
System.out.println(jedis.get("redis"));
}
}
03.在springboot项目中整合redis
说明:创建redis.properties文件,将redis的配置信息提取到配置文件中
#配置redis单台服务
redis.host=192.168.126.129:6379
192.168.126.129是虚拟机的ip
6379是redis端口号
整合jedis对象
说明:创建jedis对象,并将创建好的jedis对象交给Spring容器管理。
package com.jt.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import redis.clients.jedis.Jedis;
@Configuration
@PropertySource("classpath:/properties/redis.properties")
public class RedisConfig {
@Value("${redis.host}")
private String node;//192.168.126.129:6379
@Bean
public Jedis jedis() {
String[] nodeArray = node.split(":");
String host=nodeArray[0];
int port=Integer.parseInt(nodeArray[1]);
return new Jedis(host, port);
}
}
@Configuration
这个注解是标识这个类是资源分配类,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。
@Bean
@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。注解的英文是Indicates that a method produces a bean to be managed by the Spring container。多用于返回值是对象的函数
@PropertySource(“classpath:/properties/redis.properties”)
作用是导入资源
@Value(“${redis.host}”)
private String node;//192.168.126.129:6379
给node赋值。
05.事务
说明:通过java程序对redis进行操作时,进行事务控制
@Test
public void testMulti() {
Transaction tran = jedis.multi();//开启事务
try {
tran.set("1", "11");
tran.set("2", "22");
tran.set("3", "33");
tran.exec();//提交事务
} catch (Exception e) {
e.printStackTrace();
tran.discard();//事务的回滚
}
}