SpringBoot项目实践中使用java操作Redis之jedis
程序员文章站
2022-05-25 08:19:02
...
文章目录
一、引入依赖
<!-- spring data redis 组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<!--
1.x 的版本默认采用的连接池技术是 Jedis,
2.0 以上版本默认连接池是 Lettuce,
如果采用 Jedis,需要排除 Lettuce 的依赖。
-->
<exclusions>
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- jedis 依赖 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
二、yaml文件配置
spring:
redis:
# Redis服务器地址
host: 192.168.10.100
# Redis服务器端口
port: 6379
# Redis服务器密码
password: root
# 选择哪个库,默认0库
database: 0
# 连接超时时间
timeout: 10000ms
jedis:
pool:
# 最大连接数,默认8
max-active: 1024
# 最大连接阻塞等待时间,单位毫秒,默认-1ms
max-wait: 10000ms
# 最大空闲连接,默认8
max-idle: 200
# 最小空闲连接,默认0
min-idle: 5
三、创建自定义配置类
@Configuration
public class RedisConfig {
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.password}")
private String password;
@Value("${spring.redis.timeout}")
private String timeout;
@Value("${spring.redis.jedis.pool.max-active}")
private int maxTotal;
@Value("${spring.redis.jedis.pool.max-wait}")
private String maxWaitMillis;
@Value("${spring.redis.jedis.pool.max-idle}")
private int maxIdle;
@Value("${spring.redis.jedis.pool.min-idle}")
private int minIdle;
@Bean
public JedisPool redisPoolFactory(){
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxWaitMillis(Long.parseLong(maxWaitMillis.substring(0,maxWaitMillis.length()-2)));
jedisPoolConfig.setMaxTotal(maxTotal);
jedisPoolConfig.setMaxIdle(maxIdle);
jedisPoolConfig.setMinIdle(minIdle);
return new JedisPool(
jedisPoolConfig,
host,
port,
Integer.parseInt(timeout.substring(0,timeout.length() - 2)),
password);
}
}
四、使用
class Test{
@Autowired
JedisPool jedisPool;
public void test(){
// 从连接池获取连接
Jedis jedis = jedisPool.getResource();
// 指定数据库 默认是0
jedis.select(2);
// 使用ping命令,测试连接是否成功
String result = jedis.ping();
System.out.println(result);// 返回PONG
// 添加一条数据
jedis.set("username", "lisi");
// 获取一条数据
String username = jedis.get("username");
System.out.println(username);
// 释放资源
if (jedis != null)
jedis.close();
}
}
上一篇: List 去重问题
下一篇: 后台java项目预启动完成前就调用服务
推荐阅读
-
Jedis如何使用(java操作redis数据库的工具)
-
Java中使用Jedis连接Redis对List进行操作的常用命令
-
Java中使用Jedis连接Redis对SortedSet进行排序操作
-
Java中使用Jedis连接Redis对Set进行操作的常用命令
-
Java中使用Jedis连接Redis对String进行操作的常用命令
-
Java中使用Jedis连接Redis对Key进行操作的常用命令
-
Java中使用Jedis连接Redis对Key进行操作的常用命令
-
SpringBoot项目实践中使用java操作Redis之jedis
-
使用jedis操作redis之消息的发布和订阅
-
Redis学习笔记(二):Java使用Jedis操作Redis(5种类型的增加和删除)