首页 > 其他分享 >Spring Boot JedisCluster配置

Spring Boot JedisCluster配置

时间:2023-11-08 17:34:41浏览次数:34  
标签:redis JedisCluster spring Spring Boot springframework import test org


Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

1、添加Maven依赖 (或jar包)

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-redis</artifactId>
		</dependency>

2、配置数据源相关信息

#redis cluster
spring.redis.cache.clusterNodes=192.168.10.20:6000,192.168.10.20:6001,192.168.10.20:6002,192.168.10.20:6003,192.168.10.20:6004,192.168.10.20:6005
spring.redis.cache.commandTimeout=5000

3、配置Redis


package com.cl.config;

import java.util.HashSet;
import java.util.Set;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;

@Configuration
@ConditionalOnClass({ JedisCluster.class })
public class JedisClusterConfig {

	@Value("${spring.redis.cache.clusterNodes}")
	private String clusterNodes;

	@Value("${spring.redis.cache.commandTimeout}")
	private Integer commandTimeout;

	@Bean
	public JedisCluster getJedisCluster() {

		String[] serverArray = clusterNodes.split(",");
		Set<HostAndPort> nodes = new HashSet<>();
		for (String ipPort : serverArray) {
			String[] ipPortPair = ipPort.split(":");
			nodes.add(new HostAndPort(ipPortPair[0].trim(), Integer.valueOf(ipPortPair[1].trim())));
		}
		return new JedisCluster(nodes, commandTimeout);
	}

}

4、测试



Maven 依赖



<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>





Junit



import org.apache.log4j.Logger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;

import com.cl.config.Application;

import redis.clients.jedis.JedisCluster;

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = Application.class) // 指定spring-boot的启动类
@WebAppConfiguration
public class TestJedis {

	private Logger logger = Logger.getLogger(getClass());

	@Autowired
	private JedisCluster jedisCluster;

	@Test
	public void testJedis() {
		jedisCluster.set("test_jedis_cluster", "38967");
		String string = jedisCluster.get("test_jedis_cluster");
		logger.info(string);
		jedisCluster.del("test_jedis_cluster");
	}
}





Spring Boot JedisCluster配置_spring









标签:redis,JedisCluster,spring,Spring,Boot,springframework,import,test,org
From: https://blog.51cto.com/u_809530/8256922

相关文章

  • 浅析Spring IoC源码(七)浅谈BeanFactory和FactoryBean
    这一节我们就简单的介绍一下FactoryBean,知道这个接口的作用和意义,方便我们refresh()这个方法的理解照旧,我们依旧先看源码,从源码中查看一下他的作用吧~这次就不一句句翻译了(太多了),还是稍微大概的讲一下意思吧:FactoryBean是一个接口,任何一个Bean可以实现这个接口,那么这个bean将成为一......
  • Spring 4.x-Context的UML类图
    ......
  • Spring Kafka: UnknownHostException: 34bcfcc207e0
    参考:https://stackoverflow.com/questions/69527813/spring-kafka-unknownhostexception-34bcfcc207e0我遇到的问题和@AdánEscobar是一样的。在SpringBoot整合kafka的时候日志报了SpringKafka:UnknownHostException:34bcfcc207e0,34bcfcc207e0经过排查是容器的ID。解决......
  • Spring整合使用RMI-HelloWorld例子
    Spring整合RMI的原理客户端的核心是RmiProxyFactoryBean,包含serviceURL属性和serviceInterface属性。通过JRMP访问服务。JRMPJRMP:javaremotemethodprotocol,Java特有的,基于流的协议。 服务端暴露远程服务RmiServiceExporter把任何Spring管理的Bean输出成一个RMI服务。通......
  • Spring注入Hibernate验证框架
    Spring配置文件<!--EnablestheSpringMVC@Controllerprogrammingmodel--> <mvc:annotation-drivenvalidator="validator"/> <!--配置数据校验--> <beanid="messageSource" class="org.springframework.context.suppor......
  • Spring 3.0 注解注入详解
    一、各种注解方式 1.@Autowired注解(不推荐使用,建议使用@Resource)     @Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。@Autowired的标注位置不同,它们都会在Spring在初始化这个bean时,自动装配这个属性。要使@Autowired能够工作,还需要在配置文件中......
  • Springboot项目出现Error resolving template [index]的解决方法
    在SpringBoot中遇到模板文件不存在的问题在SpringBoot开发中,有时候会遇到Errorresolvingtemplate[index],templatemightnotexist这个错误,一般来说,这个错误可能有以下几种原因:模板文件路径错误:需要确认模板文件是否存在,并且其路径是否正确。通常模板文件的路径应该是class......
  • springboot3.1.5+文件上传+文件下载
    idea创建项目springbootdemo-download-upload加上thymeleaf模板maven依赖application.properties配置#thymeleaf页面缓存设置(默认为true)spring.thymeleaf.cache=false#单个上传文件大小限制(默认1MB)spring.servlet.multipart.max-file-size=10MB#总上传文件大小限制(默......
  • 上下文中找不到org.springframework.boot.web.servlet.server.ServletWebServerFactor
    1.问题报错如下:Description:Webapplicationcouldnotbestartedastherewasnoorg.springframework.boot.web.servlet.server.ServletWebServerFactorybeandefinedinthecontext.Action:Checkyourapplication'sdependenciesforasupportedservletwebse......
  • Spring Boot + WebSocket 实时监控,实战来了!
    写在前面此异常非彼异常,标题所说的异常是业务上的异常。最近做了一个需求,消防的设备巡检,如果巡检发现异常,通过手机端提交,后台的实时监控页面实时获取到该设备的信息及位置,然后安排员工去处理。因为需要服务端主动向客户端发送消息,所以很容易的就想到了用WebSocket来实现这一功......