Redis的jedis和SpringBoot结合使用
Jedis使用
什么是jedis
在多个非关系数据库中,java提供了JDBC,设定了一套规范的接口。各个厂商从而进行实现
jedis是redis对java提供的一套规范。可以使用java进行操作redis
如何使用
引入redis的依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.2.0</version>
</dependency>
连接Linux需要进行设置
- 禁用Linux的防火墙:Linux(CentOS7)里执行命令
- systemctl stop/disable firewalld.service
- redis.conf中注释掉bind 127.0.0.1 ,然后 protected-mode no
创建Jedis对象进行操作
public class jedisTest {
public static void main(String[] args) {
// 在构造函数中使用 本机地址和端口号进行连接redis
Jedis jedis = new Jedis("192.168.159.131",6379);
// 测试打印redis的ping是否连接成功
System.out.println(jedis.ping());
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WZU98aKh-1629902330006)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20210825220119406.png)]
接下来就可以使用jedis的对象进行调用方法,方法名字与使用基本上与redis中如出一辙
通过ctrl+鼠标左键进入指定类的源码可以看到所有的方法,详细还可以查看文档等信息
SpringBoot整合Redis
导入SpringBoot整合Redis的依赖
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- spring2.X集成redis所需common-pool2-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.6.0</version>
</dependency>
application.properties配置redis配置
常见的配置文件redis配置的内容
#Redis服务器地址
spring.redis.host=192.168.140.136
#Redis服务器连接端口
spring.redis.port=6379
#Redis数据库索引(默认为0)
spring.redis.database= 0
#连接超时时间(毫秒)
spring.redis.timeout=1800000
#连接池最大连接数(使用负值表示没有限制)
spring.redis.lettuce.pool.max-active=20
#最大阻塞等待时间(负数表示没限制)
spring.redis.lettuce.pool.max-wait=-1
#连接池中的最大空闲连接
spring.redis.lettuce.pool.max-idle=5
#连接池中的最小空闲连接
spring.redis.lettuce.pool.min-idle=0
Redis所需的配置类
@Configuration
public class RedisCofig {
@Bean("redis")
// 参数RedisConnectionFactory为Spring Boot自动注入
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory){
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
redisTemplate.setConnectionFactory(factory);
return redisTemplate;
//master
}
}
使用控制类进行测试,在控制台上进行展示结果
package cn.ctroller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class RedisTest {
@Autowired
private RedisTemplate redisTemplate;
@GetMapping("/redis")
public String RedisTest(){
ValueOperations redis = redisTemplate.opsForValue();
redis.set("name","wsl");
System.out.println(redis.get("name"));
return "1";
}
}
IDEA中运行结果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-muM3ATHk-1629902330008)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20210825223138251.png)]
redis中运行结果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MpHoYJ3D-1629902330010)(C:\Users\HP\AppData\Roaming\Typora\typora-user-images\image-20210825223325151.png)]
总结步骤
-
导依赖
-
写配置
-
配置类
-
搞测试
IDEA中运行结果
redis中运行结果
总结步骤
-
导依赖
-
写配置
-
配置类
-
搞测试