SpringBoot連接Redis集群教程
更新時間:2025年06月20日 14:32:08 作者:°Fuhb
這篇文章主要介紹了SpringBoot連接Redis集群教程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
1. 依賴
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>2. 修改配置文件
server.port=100 #redis集群節(jié)點信息 spring.redis.cluster.nodes=192.168.25.132:6379,192.168.25.132:6380,192.168.25.133:6379,192.168.25.133:6380,192.168.25.134:6379,192.168.25.134:6380 #redis連接密碼(默認空) spring.redis.password= #redis連接池最大連接數(shù)(使用負值表示沒有限制) spring.redis.jedis.pool.max-active=20 #redis連接池最大阻塞等待時間(使用負值表示沒有限制) spring.redis.jedis.pool.max-wait=-1 #redis連接池最大空閑連接 spring.redis.jedis.pool.max-idle=200 #redis連接池最小空閑連接 spring.redis.jedis.pool.min-idle=20 #redis連接超時時間(毫秒) spring.redis.timeout=10000
3. 創(chuàng)建RedisClusterConfig
@Configuration
public class RedisClusterConfig {
@Value("${spring.redis.cluster.nodes}")
private String clusterNodes;
@Value("${spring.redis.database}")
private int database;
@Value("${spring.redis.timeout}")
private int timeout;
@Value("${spring.redis.jedis.pool.max-idle}")
private int maxIdle;
@Value("${spring.redis.jedis.pool.min-idle}")
private int minIdle;
@Value("${spring.redis.jedis.pool.max-active}")
private int maxActive;
@Value("${spring.redis.jedis.pool.max-wait}")
private long maxWait;
@Bean
public JedisCluster getJedisCluster() {
return new JedisCluster(getNodes(), timeout, poolConfig());
}
private JedisPoolConfig poolConfig() {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(maxIdle);
config.setMinIdle(minIdle);
config.setMaxTotal(maxActive);
config.setMaxWaitMillis(maxWait);
return config;
}
private Set<HostAndPort> getNodes() {
String[] cNodes = clusterNodes.split(",");
Set<HostAndPort> nodes = new HashSet<HostAndPort>();
// 分割出集群節(jié)點
String[] hp;
for (String node : cNodes) {
hp = node.split(":");
nodes.add(new HostAndPort(hp[0], Integer.parseInt(hp[1])));
}
return nodes;
}
}4. 測試
@RestController
@RequestMapping("/redis/cluster")
public class RedisClusterController {
@Autowired
private JedisCluster jedisCluster;
@GetMapping("/set")
public void set(@RequestParam("key") String key, @RequestParam("value") String value){
jedisCluster.set(key, value);
}
}這邊就不演示了,分別訪問以下2個地址,能得到結果說明正常:
http://localhost:100/redis/cluster/set?key=name&value=zhangsan
http://localhost:100/redis/cluster/get?key=name
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Springboot如何配置多個Redis數(shù)據(jù)源(非集群)
- Redis結合 Docker 搭建集群并整合SpringBoot的詳細過程
- 解決Springboot集成Redis集群配置公網(wǎng)IP連接報私網(wǎng)IP連接失敗問題
- springboot集成redis哨兵集群的實現(xiàn)示例
- docker搭建redis哨兵集群并且整合springboot的實現(xiàn)
- Redis6搭建集群并在SpringBoot中使用RedisTemplate的實現(xiàn)
- 關于Springboot2.x集成lettuce連接redis集群報超時異常Command timed out after 6 second(s)
- springboot基于Redis發(fā)布訂閱集群下WebSocket的解決方案
- springboot整合redis集群過程解析
相關文章
解決SpringMvc后臺接收json數(shù)據(jù)中文亂碼問題的幾種方法
本篇文章主要介紹了解決SpringMvc后臺接收json數(shù)據(jù)中文亂碼問題的幾種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01
Java同步鎖Synchronized底層源碼和原理剖析(推薦)
這篇文章主要介紹了Java同步鎖Synchronized底層源碼和原理剖析,釋放后,進入減減操作、直到為0然后喚醒隊列,讓他們?nèi)帄Z鎖,循環(huán)前面步驟,對Java同步鎖Synchronized相關知識感興趣的朋友一起看看吧2022-05-05
SpringBoot后端接收參數(shù)優(yōu)化代碼示例(統(tǒng)一處理前端參數(shù))
使用Spring Boot開發(fā)API的時候,讀取請求參數(shù)是服務端編碼中最基本的一項操作,下面這篇文章主要給大家介紹了關于SpringBoot后端接收參數(shù)優(yōu)化(統(tǒng)一處理前端參數(shù))的相關資料,需要的朋友可以參考下2024-07-07
詳解如何為SpringBoot項目中的自定義配置添加IDE支持
這篇文章主要介紹了詳解如何為SpringBoot項目中的自定義配置添加IDE支持,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02

