SpringBoot项目实践中使用java操作Redis之jedis

it2026-08-13  12

文章目录

一、引入依赖二、yaml文件配置三、创建自定义配置类四、使用

一、引入依赖

<!-- 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: # 服务器地址 host: 192.168.10.100 # 服务器端口 port: 6379 # Redis登录密码(不能设置为纯数字) password: redis123 # 选择哪个库,默认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(); } }
最新回复(0)