Jedis는 Redis에서 공식적으로 출시한 Java용 클라이언트이며 Java 언어 호출을 위한 다양한 인터페이스를 제공합니다. Redis 공식 웹사이트에서 다운로드할 수 있습니다. Spring-data-redis는 srping 애플리케이션의 간단한 구성을 통해 redis 서비스에 대한 액세스를 제공하고 개발 패키지(Jedis, JRedis, 및 RJC) RedisTemplate은 다양한 Redis 작업을 제공합니다.
spring-data-redis는 jedis에 대해 다음 기능을 제공합니다.
연결 풀의 자동 관리 및 고도로 캡슐화된 "RedisTemplate" 클래스를 jedis 클라이언트에 제공합니다. 다수의 API를 분류하여 캡슐화하고, 동일한 유형의 연산을 연산 인터페이스로 캡슐화합니다.
ValueOperations: 단순 K-V 연산
ZSetOperations: zset 유형 데이터 연산
HashOperations : 지도형 데이터 작업용
ListOperations: 목록형 데이터 작업용
3. 트랜잭션 작업을 캡슐화하고 컨테이너를 제어합니다.
4 데이터의 "직렬화/역직렬화"를 위해 다양한 선택적 전략(RedisSerializer)이 제공됩니다.
JdkSerializationRedisSerializer: JDK 자체 직렬화 메커니즘을 사용하는 POJO 객체 액세스 시나리오.
StringRedisSerializer: Key 또는 값이 있는 시나리오에서 문자열인 경우 데이터의 바이트 시퀀스는 "new String(bytes, charset)" 및 "string.getBytes(charset)"의 직접 캡슐화인 지정된 문자 집합에 따라 문자열로 인코딩됩니다. 가장 가볍고 효율적인 전략입니다.
JacksonJsonRedisSerializer: jackson-json 도구는 javabean과 json 간의 변환 기능을 제공합니다. 이 도구는 pojo 인스턴스를 json 형식으로 직렬화하고 이를 redis에 저장할 수 있으며 json 형식 데이터를 pojo 인스턴스로 변환할 수도 있습니다.
Build
1. jar 패키지를 가져옵니다
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
spring: redis: host: 192.168.31.100 port: 6379 password: 111 database: 0 pool: max-active: 8 # 连接池最大连接数(使用负值表示没有限制) max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制) max-idle: 8 # 连接池中的最大空闲连接 min-idle: 0 # 连接池中的最小空闲连接 timeout: 5000ms # 连接超时时间(毫秒)
3. 구성 클래스 RedisConfig
package com.ffyc.back.demo.config; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; @Configuration public class RedisConfig { /** * 序列化键,值 * @param connectionFactory * @return */ @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) { RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(connectionFactory); Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class); StringRedisSerializer redisSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(redisSerializer); redisTemplate.setHashKeySerializer(redisSerializer); redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); return redisTemplate; } }
이 구성 클래스의 기능은 백엔드에서 json으로 전달할 데이터를 직렬화하는 것입니다. 백엔드에서 전달되는 내용은 Redis 측에서 전달되는 내용과 다를 수 있습니다.
4. Inject RedisTemplateInject를 필요한 곳에 적용하세요. 사용할 수 있습니다
5. 테스트하고 사용하세요
(1)
(2)
위 내용은 SpringBoot 통합이 Redis를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!