Spring Boot 中使用 Jedis 來操作 Redis
把之前老的專案切換到用 Spring Boot 時,由於拋棄了 xml 配置檔案的使用,需要把之前 Jedis 配置現在用註解的形式重新實現一遍。
老的程式碼
- config.properties
# redis資料庫連線配置(covert)
redis.url=redis://:name@host:6379/2
# 最大例項數
redis.maxTotal=100
# 最大空閒例項數
redis.maxIdle=10
# (建立例項時)最大等待時間
redis.maxWaitMillis=10000
# (建立例項時)是否驗證
redis.testOnBorrow=true
- spring.xml
<!--載入外部資料庫配置-->
<context:property-placeholder location="classpath:config.properties" file-encoding="utf-8" ignore-unresolvable="true"/>
<!-- 配置redis池,依次為最大例項數,最大空閒例項數,(建立例項時)最大等待時間,(建立例項時)是否驗證 -->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="${redis.maxTotal}"/>
<property name="maxIdle" value="${redis.maxIdle}"/>
<property name="maxWaitMillis" value="${redis.maxWaitMillis}"/>
<property name="testOnBorrow" value="${redis.testOnBorrow}"/>
</bean>
<bean id="convertShardInfo" class="redis.clients.jedis.JedisShardInfo">
<constructor-arg name="host" value="${redis.url}"/>
</bean>
<bean id="convertJedisPool" class="redis.clients.jedis.ShardedJedisPool">
<constructor-arg index="0" ref="jedisPoolConfig"/>
<constructor-arg index="1">
<list>
<ref bean="convertShardInfo"/>
</list>
</constructor-arg>
</bean>
新的程式碼
- application.yml
# redis資料庫連線配置(covert)
redisConfig:
url: "redis://:name@host:6379/2"
# 最大例項數
maxTotal: 100
# 最大空閒例項數
maxIdle: 10
# (建立例項時)最大等待時間
maxWaitMillis: 10000
# (建立例項時)是否驗證
testOnBorrow: true
- RedisConfig.java
package com.raventech.web.models.yml;
@Component
@ConfigurationProperties(prefix = "redisConfig")
public class RedisConfig implements Serializable {
private static final long serialVersionUID = 1097752157567754456L;
private String url;
private Integer maxTotal;
private Integer maxIdle;
private Long maxWaitMillis;
private Boolean testOnBorrow;
......
- JedisConfiguration.java
@Configuration
@ComponentScan({"com.raventech.web.models.yml"}) // 解決 Configuration 註解中使用 Autowired 註解 IDE 報錯
public class JedisConfiguration {
@Autowired
RedisConfig redisConfig;
@Bean
public ShardedJedisPool convertJedisPool() {
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(redisConfig.getMaxTotal());
jedisPoolConfig.setMaxIdle(redisConfig.getMaxIdle());
jedisPoolConfig.setMaxWaitMillis(redisConfig.getMaxWaitMillis());
jedisPoolConfig.setTestOnBorrow(redisConfig.getTestOnBorrow());
List<JedisShardInfo> jedisShardInfoList = new ArrayList<>();
jedisShardInfoList.add(new JedisShardInfo(redisConfig.getUrl()));
return new ShardedJedisPool(jedisPoolConfig, jedisShardInfoList);
}
}
應用
@Autowired
private ShardedJedisPool convertJedisPool;
public String convertRedisGet(String key) {
ShardedJedis resource = convertJedisPool.getResource();
String result = resource.get(key);
resource.close();
return result;
}
}
相關文章
- spring boot使用Jedis整合Redis實現快取(AOP)Spring BootRedis快取
- jedis操作 redisRedis
- spring boot中redis使用Spring BootRedis
- Jedis使用連線池操作redis叢集Redis
- Spring Boot整合Redis實戰操作Spring BootRedis
- 在 Spring Boot 中使用 RedisSpring BootRedis
- Spring Boot中快速操作MongodbSpring BootMongoDB
- Spring-Boot-操作-Redis,三種方案全解析!SpringbootRedis
- Jedis操作單節點redis,叢集及redisTemplate操作redis叢集(一)Redis
- Jedis操作
- Spring Boot:使用Redis儲存技術Spring BootRedis
- 使用Intellij中的Spring Initializr來快速構建Spring Boot工程IntelliJSpring Boot
- spring boot中zookeeper使用Spring Boot
- Spring Boot整合RedisSpring BootRedis
- Spring Boot 整合redisSpring BootRedis
- Web - Redis & JedisWebRedis
- Redis(15) jedisRedis
- 使用Spring Boot實現Redis事務 | VinsguruSpring BootRedis
- spring+redis的整合,使用spring-data-redis來整合SpringRedis
- Spring-Boot整合RedisSpringbootRedis
- Spring Boot-Redis教程Spring BootRedis
- spring boot(三)整合 redisSpring BootRedis
- spring boot 使用redis進行釋出訂閱Spring BootRedis
- Spring Boot的基本操作Spring Boot
- Spring boot方式使用MyBatis-Plus分頁操作Spring BootMyBatis
- 嵌入式Redis伺服器在Spring Boot測試中的使用Redis伺服器Spring Boot
- Spring Boot Cache Redis快取Spring BootRedis快取
- Spring Boot 專案整合RedisSpring BootRedis
- spring-boot-note6---redisSpringbootRedis
- 使用python來操作redis用法詳解PythonRedis
- [轉載] 使用Redis的Java客戶端JedisRedisJava客戶端
- Spring Boot+MiniUI CRUD操作Spring BootUI
- Spring boot 如何快速的配置多個 Redis 資料來源Spring BootRedis
- springboot(十一):Spring boot中mongodb的使用Spring BootMongoDB
- Spring Boot中攔截器的使用Spring Boot
- Spring Boot中@Import三種使用方式!Spring BootImport
- 使用Spring Boot + Redis 進行實時流處理 - vinsguruSpring BootRedis
- Spring Boot (五)Spring Data JPA 操作 MySQL 8Spring BootMySql
- Spring Boot 如何快速整合 Redis 哨兵?Spring BootRedis